A pedant that hangs out in the dark corner-cases of the web.

Monday, April 30, 2007

MIX07: Embarrasing Moments for Microsoft

Update: Another really good one.

When we arrived at the Las Vegas airport, one of the baggage carousels had a monitor displaying a Windows error report.

When we got to the hotel, we passed a monitor with a BSOD.

This morning, on the way to the keynote, we passed several monitors that indicated each room's schedule. One had a BSOD, another was flickering the old "You have unused icons on your desktop" tooltray balloon.

Monday, April 16, 2007

A simple copyright question

I'm probably missing something obvious, but can someone explain to me why a still image recording of someone is the property of the person performing the recording (the photographer), and an audio recording of someone is the property of the subject of the recording (the musician)?

Monday, April 09, 2007

Logitech 3Dconnexion = Cyberman2 ?

I am always excited by new input devices, so I'm intrigued by the Logitech 3Dconnexion, though I have to say it bears more than a passing resemblance to the disappointing Cyberman2 [2].

Tuesday, April 03, 2007

Easy XML serialization of complex objects with C#

If you've got complex, XML-serializable objects you'd like to trace easily, such as SOAP objects, here's a handy way to dump their contents to an XML string:

using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

public class XmlExporter
/// <summary>
/// Serialize an object as an XML string.
/// </summary>
/// <param name="o">The object to serialize.</param>
/// <returns>The object, serialized as an XML string.</returns>
public static string ToString(object o)
if (o == null) return "<NULL />";
string str;
Encoding utf8 = new UTF8Encoding();
XmlTypeAttribute xmlatt = (XmlTypeAttribute)Attribute.
GetCustomAttribute(o.GetType(), typeof(XmlTypeAttribute));
using (MemoryStream ms = new MemoryStream())
XmlTextWriter x = new XmlTextWriter(ms, utf8);
x.Formatting = Formatting.Indented;
XmlSerializer xs = xmlatt == null ? new XmlSerializer(o.GetType()) :
new XmlSerializer(o.GetType(), xmlatt.Namespace);
xs.Serialize(x, o);
str = utf8.GetString(ms.GetBuffer(), 0, (int)ms.Length);
return str;

Monday, April 02, 2007

Is Microsoft run by dilettantes?

The standard .NET class library cannot natively:

  • work with shorcut (.lnk) files
  • modify configuration settings
  • parse command-line options
  • enumerate ODBC DSNs
  • determine the data type of a stream by magic number

Sunday, April 01, 2007

MythTV config breakthroughs

At Re: Help Fixing overscan on HDTV, I finally found precisely what I needed to get the correct 1366×768 resolution to my Westinghouse W4207:


Re: Help Fixing overscan on HDTV


I have found to get the native resolution for my monitor is to have it probed by nvidia. This setup works best so far across many debian setups I have tried. I have a westinghouse 42" lcd native 1366 x 768 and the best I can get is 1360 x 765. I will use the prior posted xorg.conf file as an example

Section "Monitor"
Identifier "SONY TV"
#HorizSync 15.0 - 46.0
#VertRefresh 59.0 - 61.0
#Option "DPMS"
#Option "IgnoreEDID"
Option "UseEDID" "True"
#DisplaySize 720 405
#ModeLine "1280x720@60" 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync
#ModeLine "1216x648@60" 74.48 1216 1272 1400 1664 684 685 688 746 -hsync +vsync

Section "Device"
Identifier "NVIDIA Corporation NV18 [GeForce4 MX 440 AGP 8x]"
Driver "nvidia"

Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV18 [GeForce4 MX 440 AGP 8x]"
Monitor "SONY TV"
#Option "FlatPanelProperties" "scaling = centered"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "nvidia-auto-select"

Let me know how it works out.


Also, I successfully put my network script in /etc/init.d/bootmisc.sh:

iwconfig ath0 essid Springfield rate auto
ifconfig ath0 down
ifconfig ath0 up
dhclient ath0
/etc/init.d/ntp stop
/etc/init.d/ntp start