Catchup2010

Iterator-based Microthreading

Back in May, I was wrapping PhyreEngine and porting the samples to C#. To extend one of them and demonstrate some of the capabilities of C#, Miguel and I decided to use simple iterator-based microthreading, which simulates multithreading but with many microthreads within a single real thread. Unity does something like it in their game engine too. It enables you to use a very imperative style of coding, as if using a single dedicated thread for each, but without anywhere near the overhead of real threads.

Integrating a GTK# Application with the Mac

In this follow-up to my post on turning a GTK# app into a Mac app bundle, I describe how to integrate your application with Mac-specific features such as the main menu, the dock, and file/URL events. This is based on the work I did to integrate MonoDevelop and MonoDoc with the Mac, and largely involves cherry-picking code snippets from these projects. Although it would be nice to isolate this code into a library, I don't have the time at the moment to maintain such a library myself.

Creating a Mac App Bundle for a GTK# Application

While making the MonoDevelop and MonoDoc packages for Mac I learned a few things about adapting GTK# apps for Mac, and I'd like to share them so that anyone else who's built a GTK# app on Windows or Linux can provide a nice self-contained Mac app bundle for their Mac users. This first part will cover building an app bundle, and a later post will cover building platform-specific code paths so that your app integrates with the main menu and dock.

Long Time No Blog

It's strange to think that's it's 2010 already and I haven't blogged since June. It certainly hasn't been for lack of things to blog about — if anything, I've been too busy working on things to blog about them, so whenever I've had something to share I've usually used Twitter because much easier to fire off a quick tweet than to write a blog post. However, I'm determined to start blogging again so that I can share detailed information to which I can refer people more easily.

So, over the next few weeks, I'm going to try to catch up a bit. I intend to blog about the following topics:

  • Binding techniques for C++ libraries, based on what I learned from PhyreEngine
  • A tiny library I wrote for simulating cooperative microthreading using IEnumerable
  • The IPhone addin for MonoDevelop as an example of a custom project type
  • An update on building Moonlight projects with MonoDevelop
  • Some of the new features in MonoDevelop 2.2 and trunk
  • Turning a GTK# application into a Mac app bundle and integrating with the dock and main menu
  • The Mono.TextTemplating T4 library I developed for MonoDevelop's ASP.NET MVC addin
  • The talk I gave on MonoDevelop at MonoSpace
  • The difference between Web Applications and Web Sites, and why MonoDevelop only supports the former
  • Plans for improving the file/project templating system in MonoDevelop
  • Some of the photographs I've taken over the past 6 months

I don't have any particular order planned, so if there's something you'd particularly like to see, leave a comment and I'll try to take it into consideration. I'll link the items in the list through to the posts as I make them.

Syndicate content