I Use Opera

People make fun of me, but I don’t care. I use Opera. Its faster. I use javascript heavy sites like google mail and bloglines and in Firefox and Internet Explorer these sites are slow to load, slow to use, and make my browsers eat upward of 30% of the 2.5G of ram in my poor laptop.

I know the google lovers say “CHROME!” but after reading the privacy policy, I can’t handle it. Opera is years more refined and has the options I need. I do miss noscript, my favorite firefox plugin, but with the ability to enable or disable Java, JavaScript, plugins, cookies, sound, animated images, and even refers, just by pressing F12 and selecting one of these options, I’m fine with using Opera. Did I mention it is fast? I also love the saved session state.

operaPopUp_2008-10-30_20-16-54

Two things I missed when I moved from Firefox to Opera were the smart bookmarks which I had configured in Firefox to post to my delicious account and to subscribe to a feed using bloglines. It turns out Opera has custom buttons.

After finding the Del.Icio.Us custom buttons, I was able to make my own for bloglines.

operaCustom_2008-10-30_20-17-35

s/bl <—drag this link to your Opera menu bar

Just drag this link into your menu. I like to name my s/bl for subscribe with bloglines. I like tiny abbreviations so that my menu doesn’t fill up.

firefoxBookMarkBar_2008-10-30_20-18-48

GTK# in Visual Studio 2008 on Vista x64

Yes, I am crazy. Why would any programmer want this combination? I think it is a combination of wanting to work with the best tools, in this case Visual Studio 2008 and CodeRush and wanting to target Win32, OSX, and Linux all at once. The very nice part is that thanks to the hard work of other people, you don’t even have to run in Mono on Win32.

  1. Install the GTK# SDK
    You can get it from here: http://medsphere.org/projects/gtksharp/releases/2.10.4/gtksharp-sdk-2.10.4.msi
    The project page is here:
    http://medsphere.org/projects/gtksharp/
    Thanks to the good folks at medsphere for maintaining this windows installer. Presumably they use this in their applications.
  2. Create a new Windows Forms Project in Visual Studio.
    newGTK#_2008-10-30_19-54-28
    Its fine to keep 3.5 framework selected. Mono supports the core parts of 3.5.
  3. Remove the references to System.Windows.Forms.dll
  4. Add reference to atk-sharp, glib-sharp and gtk-sharp in the following paths:
    C:\Program Files (x86)\Medsphere\Gtk# Runtime\lib\gtk-sharp-2.0\atk\atk-sharp.dll
    C:\Program Files (x86)\Medsphere\Gtk# Runtime\lib\gtk-sharp-2.0\glib\glib-sharp.dll
    C:\Program Files (x86)\Medsphere\Gtk# Runtime\lib\gtk-sharp-2.0\gtk\gtk-sharp.dll
  5. Change your Platform target to x86 from AnyCPU in the project properties.
    projectTarget_2008-10-30_20-00-11
  6. Write some test code
  7. [STAThread]
    static void Main()
    {
        Application.Init();
        Window myWin = new Window("My first GTK# Application! ");
        myWin.Resize(200, 200);
        myWin.Destroyed += new EventHandler(myWin_Destroyed);
        Label myLabel = new Label();
        myLabel.Text = "Hello World!!!!";
        myWin.Add(myLabel);
        myWin.ShowAll();
        Application.Run();
    }
    static void myWin_Destroyed(object sender, EventArgs e)
    {
        Application.Quit();
    }
  8. Run the application

Enjoy your 3rd option for a pure .NET programming GUI Toolkit on Win32. Winforms and WPF are great, but GTK# does fill a certain niche.