Hello.

I am Paul Kinlan.

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

ReSharper 2.0+ Plugins

Reading time: 1 minute

I'm searching for plugins created using JetBrains OpenAPI for ReSharper 2.0+, but they're proving difficult to find. The only one I've encountered is mentioned in a blog post, and it doesn't seem to have been officially released. I have some plugin ideas of my own, but the available documentation and examples aren't very helpful. 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!)

XNA Parallax Engine and the GSE Beta 2

Reading time: 1 minute

I'm starting to port the Parallax Engine to XNA Game Studio Express Beta 2 due to major changes from Beta 1, notably the removal of Game Designers. While I liked the rapid configuration they offered, their removal seems necessary for Xbox 360 support. Read More

Technorati, Rubbish!

Reading time: 1 minute

I'm incredibly frustrated with Technorati! It's not updating my blog's information despite numerous ping updates and support emails. This is really impacting my blog's visibility. Read More

Solution to my "Problem with List and TypeConverter" Problem

Reading time: 3 minutes

I had a problem getting TypeConverters to work with generic lists in XNA and WinForms. The designer wouldn't generate the code I wanted for properties. I needed a simple way to serialize objects, so I tried a minimalist approach. Overriding CanConvertTo and ConvertTo methods in my TypeConverter was enough for the designer to serialize the objects correctly, generating much cleaner and simpler code. Read More

iforgive.eu up for sale

Reading time: 3 minutes

I bought iforgive.eu, but my initial ideas for the site (a forgiveness flower shop, a public confession/forgiveness platform, and an open email apology site) were flawed. I considered alternatives like a social charity platform ("If Or Give") or a Q&A site, but those didn't pan out either. Now, I'm selling the domain. Leave a comment if you have suggestions – funny or serious – for what someone could do with it. I might even implement your idea. Learn from my mistake: think before you buy a domain! Read More

F14 XNA Game should use XNA Parallax Engine

Reading time: 1 minute

I came across ARogan's F14 XNA game which features 3 levels of parallax scrolling. I'm thinking it would be a great opportunity to demonstrate the capabilities of my XNA Parallax Engine. Ideally, someone ports the game to use my engine, but if not, I'll do it myself since the F14 game's source code is available. This will be a good test of my engine's flexibility and I'm eager to see how easy the porting process is and how well it performs. I'll keep you updated on my progress. Read More

Long Tail is a Long Tale

Reading time: 2 minutes

I read Chris Anderson's "Long Tail" and found it insightful, albeit a bit verbose. While many of the concepts about choice, aggregators, and filters felt obvious, the book effectively highlights their importance. I realized I'd already implemented a "long tail" approach on this blog by creating a tag directory (http//:www.kinlan.co.uk/tag/{anytag}) to link related posts and resources. This led to the development of Topicala (http://www.topicala.com/), a meta-search engine that aggregates results from multiple search engines based on tags. Read More

Window Live OneCare Beta 1.5.1785.18

Reading time: 2 minutes

I've started testing Windows Live OneCare Beta 1.5.1785.18, switching from Windows Defender. While the Protection Plus firewall alerts are helpful, the TuneUp feature feels lackluster. It doesn't provide enough detail about its actions (like during defragmentation) and lacks advanced tuning options I'd expect, especially given Microsoft's SysInternals acquisition. It's good for automating basic maintenance, but the performance hit and limited functionality don't justify a paid subscription yet. Read More

Assigining a TypeConverter to a class you don't own

Reading time: 2 minutes

In this post, I describe a solution to a problem I encountered while working with XNA Beta1 and Vector2 structs. Because Vector2 didn't have an associated TypeConverter, the designer lacked support. Applying a TypeConverter to the property worked in the designer, but Visual Studio 2005 ignored it during serialization, resorting to resource files, which was messy. My workaround involves dynamically adding a TypeConverter to the Vector2 type itself using TypeDescriptor.AddAttributes, which is invoked during the class's construction. By registering the Vector2Converter with the Vector2 type early on, both the designer and code serialization work harmoniously. Read More

XNA Parallax Demo Video

Reading time: 1 minute

Check out my new video demo showcasing the simplicity of creating scrolling parallax layers in XNA. In under 3 minutes, I demonstrate how to build a parallax engine with layers, a camera, and scrollers, all without writing any code! The video covers basic scrolling and adding effects like oscillators. Watch it on YouTube, Google Video, or download the WMV. Feedback is welcome here or on the CodePlex forums. Read More

XNA Parallax Engine

Reading time: 1 minute

I've just released the first alpha version of my XNA Parallax Engine! You can download it from CodePlex. It's still early stages and needs a lot of work, including examples, documentation, artwork, and more. If you're interested in contributing, please get in touch! Read More

XNA Parallax Engine Update

Reading time: 1 minute

I've just pushed an update to my XNA Parallax Engine project, which now includes its first demo. This initial demo showcases a basic single scrolling background—simple, yet functional, requiring minimal code for setup. I'm currently refining the layer collection initialization process. The updated source code is available on Codeplex for those interested in exploring it further. Read More

Codeplex

Reading time: 1 minute

I've started a project on Codeplex and I'm very impressed with how easy Team Foundation Server is to use compared to Rational ClearCase and ClearQuest. It integrates seamlessly with VS2005. I'm still getting used to it, but running into some integration issues between VS C# Express (required for XNA) and Team Foundation Server. I'm currently using VS2005 Team Edition, VS Express, and the command line (tf) in my workflow. Read More

Problem with List and TypeConverter

Reading time: 2 minutes

I am having a bit of difficulty with TypeConverters and Generic Lists and I was hoping that I could get a bit of advice. I have a type converter that is used to create the constructor code for my component. (It is an XNA a Game Component, but I don't think that that has anything to do with the problem because it appears on a Winform) inside another component. For instance I have the following: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www. Read More

Somebody already blogged my project!

Reading time: 1 minute

Excited to share that Xbox360homebrew blogged about my Paralax Engine Project! Hoping to release more code soon and get more people involved. Read More

XNA Paralax Component

Reading time: 1 minute

I've started an open-source parallax scrolling component project on CodePlex to help game developers create repeating scrolling backgrounds for their XNA games. It's still in early stages, but currently includes a 2D camera, layer oscillators, scrolling, and clipping functionality. Check out the XNAParalax Component project on CodePlex and provide feedback! Read More

XNA Vector2 Type Converter

Reading time: 1 minute

I was developing a component in XNA and needed a way to edit Vector2 properties directly within the Game Designer. Since Vector2 is a struct and doesn't inherently support this, I created a custom TypeConverter. The provided code allows you to modify Vector2 values in the designer using comma notation (e.g., 50, 100). Feel free to adapt it for other types like Vector3. Read More

No 360, but I have the controller!

Reading time: 1 minute

I bought a used Xbox 360 controller to test game development using XNA for PC and the upcoming Xbox 360. The XNA programming model works well, and I can access controller inputs like trigger pressure. I couldn't install the official Xbox 360 controller driver for Windows XP, but the XBCD drivers worked seamlessly. Find them at xbcd360guide.50webs.com (use at your own risk, the site looks a bit sketchy). Read More

Some hCard Stats

Reading time: 2 minutes

I've started gathering hCard stats on topicala.com thanks to pingerati.net. hCards are a machine-readable microformat for contact information that can be embedded in HTML. Pingerati notifies services like mine when hCards are updated. To get your hCard included in the stats, ping pingerati at http://pingerati.net/ping/[your updated url]. I'm excited about the potential of microformats and plan to add more services to topicala as more data becomes available. Learn how to create an hCard at http://microformats.org/code/hcard/creator. Read More

What you can't do in Windows Live Writer

Reading time: 3 minutes

I've been exploring Windows Live Writer plugins and hit a snag: the API doesn't let plugins access the post's text. This severely limits plugin functionality, preventing things like automated tagging or microformat integration. I've raised this issue on the Windows Live Writer forum and with Microsoft's Joe Cheng, emphasizing the need for text access to enable a wider range of plugins. I encourage other developers to voice similar concerns to Microsoft. Read More