March 2005 - Posts - Jon Galloway

March 2005 - Posts

TriOS - Object Oriented Operating System

Stumbled across this today - TriOS is a proposed operating system that is completely based on objects at all levels. Files, users, etc., are all objects that are persisted to disk on shutdown.

It's an extremely ambitious goal, but the ideas presented in their Technical Design Paper are pretty interesting and appear to be the product of quite a bit of thought. The Object Storing System is cool.

I've never designed or built an operating system, so I have no understanding of whether or not this is feasible. Given that major companies take years to build operating systems, I'm not betting on installing this anytime soon, but I like the concept.

Posted by Jon Galloway | with no comments
Filed under: ,

Graphical BitTorrent simulator

If you think BitTorrent is about pirating music, you're missing out on a really cool emerging distribution system1. Carl Franklin uses BitTorrent to distribute DotNetRocks. We've used it on the Monoppix project2 to distribute over 1.7TB in 12 days on a $5/month hosting package (there are 620 downloads of a 445MB file in progress right now). It's an economical and efficient way to distribute large files.

Peter Provost points to a java applet BitTorrent simulator which shows why this is so cool. Fire it up, hit the "+" key 10 times (ten people want the file), then hit the "s" key twice (two seeds to supply the file). Watch the fun - at first, the seeds send bits of the file out to some of the downloaders, but then the downloaders start distributing the bits they've got with eachother, and the bits start flyin:

[viaGeek Notes 2005-03-11]

1In fact, trading copywritten music or video over BitTorrent is a pretty dumb idea, since it's not at all anonymous. Users are visible and trackable.
2We're using BlogTorrent for Monoppix. It doesn't have all the bells and whistles of some of the other trackers out there, but it's a simple PHP/MySql system that installed in 2 minutes and works well.

Posted by Jon Galloway | 1 comment(s)
Filed under: ,

[util] DPack 2.0 - wow!

On Greg's say so, I tried out DPack 2.0. I don't know how I missed the 1.0 release, but I'm very impressed. This one is a keeper.

DPack is a free VS.NET 2003 / 2005 addin that includes:

  • Numbered bookmarks (improved in 2.0)
  • Runs fine for non-admin users (new in 2.0)
  • Solution Statistics - lines of code, number of methods, etc. (new in 2.0)
  • "Surround with" feature, similar to Refactoring support in VS 2005 - surround with try...catch, try...finally, etc.
  • Nice code browsing / navigation features - next / previous method, parent, code / file / framework browsers, etc.
  • other cool stuff

The website and the UI aren't flashy, but this thing really work well. 

Call to action: Take five minutes and install two VS.NET addins that will improve your current productivity, and get you in the mindset for the kind of productivity enhancements that are all over in VS.NET 2005.

  1. Install DPack 2.0.
  2. Install Gaston Milano's Whidbey Commands addin (two MSI's to install for this). Simon Chapman did a nice writeup with screenshots here.

Some DPack screenshots:



Source: Greg's Cool [Insert Clever Name] of the Day - DPack 2.0 is live

Posted by Jon Galloway | 1 comment(s)
Filed under: ,

[OT] Why do we buy books?

Schopenhauer said it well: buying books would be great if we could also buy the time to read them. So, since we already know that we will never have that time then, maybe, we buy books to satisfy a certain sense of property. In other words, we get some sort of artificial brain sweetener. When I buy a book - I potentially know more.

[Source: Why do we buy books? - AntiMail]

Funny, I was just discussing this with my wife tonight (leaving a bookstore emptyhanded again). I very rarely buy books anymore, technical or otherwise. I find myself looking longingly at the purty book displays, but I've finally learned to be pragmatic about it and realize that I'd never actually read them.

I think the psycological rewards of buying books greatly outweigh the practical ones. Buying a book tells me two things:
1) I am buying this knowledge. If I buy this giant book, I will be an expert.
2) I am buying a fantasy of having the time to read. A single aisle in a bookstore whispers of thousands of hours of uninterupted, directed leisure time.

I do buy fictional books I can't get in unabridged audio, but find that for technical info I've got more than I can handle between my RSS subscriptions, IT Conversations, and DotNetRocks. For random access technical info, it's hard to beat Google, especially when it often points to one of the weblogs I subscribe to (and trust).

I'm reading Cryptonomicon now, though, and enjoying it very much.


Posted by Jon Galloway | with no comments
Filed under:

[] Popup Tester Web Control

This is a great idea - an ASP.NET server control that only shows if popups are blocked. Use it to show a warning message, info on how to disable popup blocking for your site, or the information you would have shown in the popup if it was allowed.

Now that all the browsers are including popup blockers, this kind of thing should be required in pages that still use popups.

[...] The PopupTester control is derived from Panel, which means that it is a container control to which you can simply add whatever other controls you want to display if a popup blocker is found.

Add an instance to your aspx page with <mbw:PopupTester id="popupTester" runat="server">Popups are being blocked</mbw:PopupTester>

Again, you are free to place whatever content you like inside the PopupTester control. The control will render with a style of display:none, unless a popup blocker is found. If one is found, it renders with display:block. This control should work with Netscape, Internet Explorer and FireFox.

If you're using popups in an ASP.NET application, you owe it to your users to give this control a shot. There is no cost, so what do you have to lose?

If you are using this, Id love to hear your thoughts about it...

Source: Matt Berther - Popup Tester Web Control

powered by IMHO 1.2

Posted by Jon Galloway | 3 comment(s)
Filed under:

[tools] Monoppix 1.0 is out


Monoppix 1.0 has been released! Our new website, is live! Help wanted!

What is it?

Monoppix is a GNU/Linux distribution which includes Mono, XSP, MySql, and Monodevelop, and runs completely off a CD. It allows you to get familiar with Mono development or test your existing .NET apps in Linux without installing anything on your computer.

Monoppix was based on Knoppix and Miniknoppix and was developed by Roiy Zysman (zroiy at gmail dot com).

What's new?

The Monoppix Preview ( Release came out in September 2004.  Based on user feedback, Monoppix 1.0 adds the following:

  • MySql support, including the ByteFX ADO.NET managed provider (XSP sample included, uses compiled codebehind)
  • XSP code runs on RAMDISK, so you can more add and edit code without any configuration changes
  • GTK# for desktop applications (sample included)
  • Best of all, a great new desktop image!

Downloads / Links

First of all, is live. That will be the official source of info on Monoppix going forward, although I'll continue to announce releases here.

If you're familiar with Knoppix, download the ISO and get cracking.

If not, don't worry, it's a simple process:

1. Download the Monoppix ISO

The Monoppix ISO is available here. Please download via BitTorrent if you can.

2.  Burn the ISO to a bootable CD

The easiest ways to burn an ISO to a bootable CD in Windows are:

  1. Nero, using the CD-ROM (BOOT) option
  2. ISORecorder (free, XP SP2 or Windows 2003 need to use the ISORecorder v2 beta release)
  3. CDBurn (part of free Windows 2003 Resource Kit, works on Windows XP, command line only)
3. Running Monoppix off the CD

Make sure the CD is in the CD drive and restart your computer. If it boots in your normal operating system, reboot again and change the start device priority in your BIOS to set the CD drive to higher priority in the boot order than the Hard Drive. At the prompt, you'll need to enter a Knoppix cheat code to tell Knoppix what hardware to use. If you're using standard equipment, you're probably okay with just "knoppix " (without the quotes). If you're using a laptop or LCD monitor, "fb1024x768" will probably work.

Knoppix mounts your hard drive and places a link to it on your desktop, so you can execute your .NET / ASP.NET code off your hard drive. Linux only mounts NTFS partitions as read only, though, so if you want to save your work you'll need to be creative (save to a floppy, upload to an FTP, e-mail yourself, create a VFAT partition, etc.).

4. Running Monoppix on Virtual PC or VMWare

You can run Monoppix in a virtual machine environment. In both cases, you just create a new virtual machine and capture the ISO file as a CD drive. This lets you keep save your session state without setting up an alternate home drive.

Virtual PC's emulated Video Drivers conflict with the default Knoppix display settings, which expect 24 bit color while VPC only supports 16 bit color. Use the following cheat code when running Monoppix in VPC: "knoppix xserver=XFree86 xmodule=s3 depth= 16". 


Walkthroughs are included on the ISO, linked to from the desktop. Screenshots are available at The walkthroughs on my site will be updated from the ISO content and moved over to

Suggestions / Feedback / Want to get involved?

You can post suggestions as comments on this post, or e-mail Roiy Zysman (zroiy at gmail dot com). We'll be setting up a forum at soon. We'd love to have some help at any level, from documentation to building the releases. Let us know if you're interested - it's a great opportunity to learn something new.

By the way, thanks to Patrick for pointing me to BlogTorrent, which was very easy to set up.


Posted by Jon Galloway | 5 comment(s)
Filed under:

[help?] ISO mirroring / torrent for Monoppix 1.0 release

We're just about ready to release Monoppix 1.0 (Linux LiveCD with Mono, MySQL, Monodevelop, etc.).

We used for the preview release, but they shut down around December '04. I looked at Coral - a similar service - but they have a 75MB file cap, and the ISO is 425MB.

Unless anyone can recommend a good caching service, we'll need help with some mirrors or setting up a torrent link (i.e. a BT tracker we can use). We can set up our own tracker if we need to, but we'd prefer not to have to hold up the release for that.

Let me know if you've got suggestions or can help.

Posted by Jon Galloway | 1 comment(s)
Filed under:
More Posts