Archive for the ‘programming’ Category

What’s in the Mac OS X version of Silverlight 1.1 Alpha?

Tuesday, May 1st, 2007

I downloaded Silverlight 1.1 Alpha and poked around until I found out where the .NET stuff lives. Here’s what’s in the bundle:

$ cd /Library/Internet\ Plug-Ins/Silverlight.plugin/Contents/MacOS/
$ ls
  CoreCLR.bundle                          System.Core.dll
  IronPython.Modules.dll                  System.SilverLight.dll
  IronPython.dll                          System.Xml.Core.dll
  Microsoft.JScript.Compiler.dll          System.dll
  Microsoft.JScript.Runtime.dll           agclr.dll
  Microsoft.Scripting.SilverLight.dll     agcore
  Microsoft.Scripting.Vestigial.dll       slr.dll
  Microsoft.Scripting.dll                 slr.dll.managed_manifest
  Microsoft.VisualBasic.dll

And check out what those DLLs are made of:

$ file System.dll
  System.dll: MS Windows PE 32-bit Intel 80386 console DLL

But what’s this thing? Man, that’s big!

$ file agcore
  agcore: Mach-O universal binary with 2 architectures
  agcore (for architecture i386): Mach-O bundle i386
  agcore (for architecture ppc):  Mach-O bundle ppc
$ ls -l agcore
  -rwxr-xr-x   1 502  admin  16083600 Apr 26 03:16 agcore

So how much of those DLLs are managed code? Do they contain Win32 code, and does agcore have some magic in it for bootstrapping Win32 code?

Natural Language Game Programming with Inform 7

Thursday, June 8th, 2006

Liza Daly: “If you are a COBOL fan, you will love this language, and if you are not, the main thing you should know is that Inform 7 does not suck. It can do real work in a novel way.”

Not an attack, just some observations

Wednesday, January 4th, 2006

Tom Hoffman: Test-Driven Development: What a Pain in the Ass!

The Mandelbrot Set in JavaScript

Wednesday, September 7th, 2005

Want to bring your browser to a grinding halt for anywhere between a few
seconds and a minute? If you do, be sure to click here. (On
my Mac, Opera is much faster than Firefox or Safari.) I
drew on a few sources of inspiration:

Food for Thought on Mono and Patents

Thursday, May 20th, 2004

Miguel de Icaza: “…take a step back, and for every instance of the word `Mono’ replace it with every major open source project today `gnu libc’, `linux kernel’, `Open Office’, `samba’, `x11′, `cairo’, `gtk+’, `qt’, `binutils’, `gcc’, gnome’, `qt’, `mozilla’, `my favorite file system’, use your imagination.

Does your foe have a patent to it? Or someone that can be acquired by your foe?”

MonoDevelop on Mac OS X

Thursday, May 20th, 2004

These are rough notes, and due to the the moving target nature of everything, very likely to stop working at some point in the future.

  • Install Fink.
  • Configure Fink to use the unstable repository.
  • Install mono, gtk-sharp, gecko-sharp, gtksourceview-sharp, and probably a bunch of other stuff (monodevelop will let you know what’s needed when you run ./configure) using “fink install”. When you come to gtk-sharp, you might have a problem with a gtk+2 dependency, so if this happens, edit
    /sw/fink/10.3/unstable/main/finkinfo/graphics/gtk-sharp.info
    and change all occurrences of “gtk+2 (>= 2.2.4-3)” to “gtk+2 (>=2.2.4-2)”
  • Install mozilla with fink. This will take a veeeery long time if you do it from source, so if you don’t mind mixing source/binary
    installations, just do “sudo apt-get install mozilla”. If you don’t have mozilla installed, the monodevelop script will appear to hang (”cat `which mozilla`” turns into “cat”) when you launch it.
  • Download MonoDevelop 0.3, extract it, set CPPFLAGS=-I/sw/include, CFLAGS=-I/sw/include, and LDFLAGS=-L/sw/lib, and then run ./configure in the top-level directory.
  • Edit Main/Base/Makefile and change CSC = mcs /debug to CSC = mcs. This prevented a NullReferenceException while compiling that part of the code.
  • make and then sudo make install
  • Mono seems to be a little confused about how to handle DllImport on Mac OS X, so we need to help it. You’ll need to make the following
    symlinks:

    $ cd /sw/lib
    $ sudo ln -s libgtk-x11-2.0.dylib libgtk-x11-2.0.so.0
    $ sudo ln -s libgnomevfs-2.dylib libgnomevfs-2.so
    $ sudo ln -s libgtksourceview-1.0.dylib libgtksourceview-1.0.so
    $ sudo ln -s libglib-2.0.dylib libglib-2.0.so
    # Update 5/18/2004:
    $ sudo ln -s libglib-2.0.dylib libglib-2.0.so.0
    
    $ cd /usr/local/lib/monodevelop/bin/
    $ sudo ln -s libgdldock.dylib libgdldock.so
    $ sudo ln -s libmonodevelop.dylib libmonodevelop.so
  • Open up X11, start an xterm, and run /usr/local/bin/monodevelop.

I can’t make any promises that this will work, but it created the code completion database successfully, and so far, it’s working well for me.

SafariBox

Tuesday, April 20th, 2004

Jon
Udell shows
how to embed Safari search results in a web page.

Best of Both Worlds

Saturday, April 3rd, 2004

Ted
Neward
: “it’s dual citizenship!”

Changes at Sun

Friday, April 2nd, 2004

Daniel Steinberg:
“This could be a huge moment for Sun.”

Mozilla as Killer Cross-Platform Component Platform

Wednesday, March 24th, 2004

Jon
Udell
: “Could InfoPath have been built on a Mozilla foundation
instead? You bet. And the result wouldn’t just be a great Windows
application. It would be a great application, period.” See also The
Firefox Opportunity
.