Hello.

I am Paul Kinlan.

I lead the Chrome and the Open Web Developer Relations team at Google.

Malformed OPML

Reading time: 1 minute

My OPML files are not correctly formatted, specifically with unescaped apostrophes in attributes. This issue affects users of my Ajax Tagger v2, but I haven't received reports of any problems so far. Read More

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.

I love to learn about what you are building, and how I can help with Chrome or Web development in general, so if you want to chat with me directly, please feel free to book a consultation.

I'm trialing a newsletter, you can subscribe below (thank you!)

C#/.Net on the XBox 260 360, maybe one day

Reading time: 1 minute

I've noticed a lot of searches related to C# and Xbox 360 development. While it's unclear what the future holds, some recent posts suggest that using the CLR on the Xbox 360 may be possible someday. Whether this will open up homebrew development remains uncertain, especially considering potential licensing restrictions. Though it's unlikely, we can still hold onto a glimmer of hope! Read More

Google Search: ebay asp.net api soap wsdl [part deux]

Reading time: 2 minutes

This post is a follow-up to my earlier one about using SOAP requests in ASP.Net to access the eBay API. I've finally figured out how to make it work! A few key things to note: most requests need the "version" attribute, some require the "DetailLevel" attribute, and you'll need an eBay Authentication Token (a cryptographic hash) for security. When using the WSDL URL, remember to include query string parameters so eBay knows what to do. I've included some sample C# code demonstrating how to build the request URL, set credentials, and handle the response. Read More

Google Search: ajax definition .net for dummies

Reading time: 2 minutes

This post explains AJAX (Asynchronous JavaScript and XML) and its use in .NET. AJAX allows web pages to update small sections without reloading the entire page, improving user experience. Traditional ASP.NET (1.x) struggles with this as it's designed to reload entire pages. However, .NET's flexible request pipeline allows plugins/HTTPHandlers to manage AJAX requests, enabling developers to execute specific methods within a page. The post lists several .NET AJAX frameworks, including AjaxPro, Arshad.NET, and AjaxAspects, and points readers to ajaxpatterns.org for more options. Read More

Google Search: ebay asp.net api soap wsdl

Reading time: 1 minute

I'm exploring the eBay API using ASP.NET and SOAP. It's proving a bit cumbersome due to its monolithic structure. Ideally, each API call would have its own WSDL and SOAP interface for easier management. Currently, I'm stuck on generating a User Token for authentication, having tried my developer account, regular eBay account, and a new account without success. Any advice on obtaining a User Token would be greatly appreciated! Read More

Google Search: why use sealed classes?

Reading time: 1 minute

I had a comprehensive blog post on sealed classes and their benefits within Google Search, but unfortunately, it was lost. I plan to rewrite it soon. Read More

Project Origami

Reading time: 1 minute

I'm not as impressed by Project Origami as others seem to be. While the idea of an ultra-mobile PC is appealing, and I'd like to own one, it feels like a somewhat predictable development in technology. Read More

Feed or Email Delivery

Reading time: 1 minute

I'm considering adding an email subscription option for blog updates, as an alternative to RSS/ATOM feeds. Would you subscribe to email updates if offered? Read More

Google Search: C#, Finding the Locale

Reading time: 1 minute

This post discusses how to determine a user's locale in C#. For ASP.NET applications, the Request.UserLanguages array provides the user's preferred languages, with the first element being the primary locale. This can be used to set the thread's culture using CultureInfo.CreateSpecificCulture(). In Windows Forms or services, the current culture can be accessed via Thread.CurrentThread.CurrentCulture and several properties like TwoLetterISOLanguageName or DisplayName allow retrieval of locale information. Read More

Google Search: find file extension with regex in c#

Reading time: 1 minute

This post addresses a common search query: how to find file extensions using regular expressions in C#. I provide several regex examples for this purpose, including variations for finding extensions only at the end of a string and for specifically finding three-letter extensions. Read More

Microformat proposal

Reading time: 1 minute

I'm exploring the idea of a "Questions and Answers" microformat to add semantic meaning to questions and their corresponding answers within text. I propose using <span class=qa><span class=question>Where does paul kinlan live?</span><span class=answer>liverpool</span></span> as a potential structure. This could be beneficial for search functionality, allowing search engines to index question-answer pairs instead of entire pages. I'm looking for feedback on whether this is a valuable concept, worth pursuing, or if it has already been discussed elsewhere. Read More

Updated UI

Reading time: 1 minute

I've given kinlan.co.uk a fresh coat of paint with a new Blogger Template. It's cleaner, faster, and easier on the eyes. I'm planning some more small tweaks in the near future, stay tuned! Read More

Been on training

Reading time: 1 minute

I've just completed a Mastering UML training course at IBM Education Services in London. It was a good course and I learned a lot, particularly because the instructor, Chas Weaver, incorporated his own experiences. The only downside was the lack of Internet access. Read More

Bill Hill on IE7 Cleartype

Reading time: 1 minute

In this post, I share my support for Internet Explorer 7's decision to enable ClearType by default. Bill Hill's blog post on the topic highlights research demonstrating ClearType's positive impact on reading, IE's primary use case. Personally, I've found ClearType enhances readability and focus, though IE7 Beta 2 has presented rendering issues on platforms like Blogger. Read More

C# CSS Classname Regex

Reading time: 1 minute

I've updated my C# regex for extracting CSS class names to correctly handle URLs in CSS properties like url(someimage.png). The previous version incorrectly matched file extensions. The improved regex uses a negative lookbehind assertion (?<!url\s*\(.*) to prevent matching class names within url() declarations. It now accurately extracts class names, even with variations in spacing within the url() function. Read More

Not going to update the style of this site

Reading time: 1 minute

I've been considering updating the website's design as mentioned before, but haven't found one that is both simple and aesthetically pleasing. I may update it in the future when I have more time. Read More

Coding Horror

Reading time: 1 minute

I love Coding Horror and want to emulate its crisp, clean design on my own blog. My current design is bloated, slow, and hard to read. I plan to back up my template and experiment with a simpler layout next week. Read More

Openseach and IE7 Beta 2 update

Reading time: 1 minute

I've updated my Opensearch implementation based on feedback from Michael Fagan. Changes include correcting the short name length, fixing capitalization issues, and adding an RSS search URL using Google Blog Search. Unfortunately, full A9.com integration isn't possible because the search engine isn't on my domain. While proxying results is an option, I feel that would be unfair to Google. Read More

Google Adsense for Search and IE7 Openseach Provider

Reading time: 1 minute

I contacted Google about using my AdSense account with IE7's SiteSearch through OpenSearch. Unfortunately, they don't currently allow anything but their own search boxes. I think this is a limitation and they said they'd consider it, but for now, using AdSense with IE7's OpenSearch provider is not permitted. Read More

Google Search and IE 7 Search Provider

Reading time: 1 minute

I've added a custom search provider to my blog using Google Search for Internet Explorer 7 Beta 2 users. It lets you easily search my site's content. The provider is set up using an OpenSearch XML file linked in each page's header. Not sure about Google's terms on this, so I'll remove it if there's an issue. Hopefully, this example helps others implement search providers. Read More