June 22, 2003 Money

“Them that know, don’t tell”

In general, I suspect all members of the financial education market, from authors to radio talk show hosts and everyone in between. When I obtain financial independence, I don’t plan on teaching anyone but my own friends and family. Why would anyone do otherwise except to fleece the public?

And then, having said that, I realize that every single book I’ve written, I wrote because I had a burning story to tell; I couldn’t not write it. My motivation to write novels is grounded in my need to take my writing into a completely different direction w/o the requirement of generating an income stream. So it’s likely that at least *some* of the folks in the financial education market are in it for love, but how can you tell which ones?

Further, it’s not generally true that “them that know, don’t tell.” I know that I know how to write real software and how the technologies that form the topics of my writings and teachings really work, so at the very least, I’m the exception to that rule. However, there are an awful lot of exceptions, like all of my friends in the Windows developer education industry, so I reject the rule out of hand for at least a significant percentage of participants in any given field of education (certainly a significant percentage of them conform to the rule, of course, and those are likely to out number the ones that are the exception).

However, all of us in the Windows developer education industry make our living on education, not on the technology itself. We’ve chosen education because it’s more lucrative then being a practitioner. (This may help explain why elementary school teachers choose their field: can you think of a place that they can make more money on basic readin’, ‘ritin’ and ’rithmatic than as a teacher?)

So, if it’s the case that education is more lucrative than practice, why should I buy someone’s financial book, since they’ve obviously decided that selling me a book is more profitable than practicing what they’re preaching. Further, the real-time markets have the built-in handicap that when a technique for really making money is widely put into use, the market adjusts for it, bringing the returns for that technique back in line with the market as a whole. If I discovered a new way to make real money, publishing how it works is the last thing that I want to do. Definitely, those kinds of books, like The Motley Fool’s Investment Guide, are not what I want to put my trust into.

Things I find I can trust more are books that inspire me, like Rich Dad, Poor Dad, or change the way I look at things, like Fooled by Randomness, or help me to establish a foundation of knowledge, like Investing for Dummies or Learn to Earn. These are books that don’t promise to make me rich (except the Rich Dad, Poor Dad books, but I’ve learned to discount that promise : ), but that help me align my brain cells so that I can take control of my own financial health.

So, all of this boils down to “Be a skeptic” from the Epilogue to Effective COM, furthering my belief that the ability to learn how one system works, e.g. COM, can be effectively translated into learning how another system works, e.g. investing. And so what’s my motivation for this writing and others like it? It’s purely selfish, I assure you. Writing something clarifies my thinking and posting it gets me access to, and feedback from, like-minded folks that can help clarify my thinking even more.

June 21, 2003

*Wide* View

The fun you can have with 9 PCs and 13 monitors.
June 20, 2003 Spout

Naming My Feed

Fri, June 20, 2003

When I built the Windows Developer News feed on my home page, it was an attempt to build a Windows equivalent of SlashDot. Unfortunately, I’m not interested in keeping up on all the news in the Windows developer space and the few folks that have stepped up to post on this site are largely spammers (although not all of them). Also, in my own feed subscriptions, I find that the ones I’m most fond of are from individuals, not groups. Plus, my grandboss recently put a fine point on it, “I hate the name of your feed. That’s not what it is.“

So, I’ve moved this feed to be just stuff from me. The problem was, I didn’t know what to call it. In addition to posting links to stuff I produce, e.g. tools, writings, editorial, etc., my site’s feed is really about the things that I find interesting and my personal insights, so I need a name that reflects that. Also, I’m a big fan of puns, alliteration and double meanings (the logo has *3* meanings), so a name with those elements was important.

As always, when I’m faced with something like this, I turn to the community, specifically my own readers, who seem to have an unhealthy desire to participate in things like this. When I asked them for their input, I was overwhelmed with more the number of responses; and good ones, too (it probably helped that I was giving away a free seat at the Applied XML Developer’s Conference [July 10th — register now!] to the one I picked)! Here’re some of the best that I didn’t pick:

  • “The Naked Programmer” from Richard Caetano. This has a nice tie in with the logo and connotes the openness I’m fond of in my writings. The problem with this one is only that it already appears on the web.
  • ″.Nirvana” from Yaniv. This one goes nicely with the logo and my current technology of choice. However, as much as I like .NET, it’s not likely to be the last disciple I embrace, so I don’t want to tie myself to it.
  • Sells-A-Go-Go from Michael Weinhardt. This one from a former protege very much appeals to my sense of fun, but it only has one meaning.
  • Longhorn Foghorn from Mickey Williams. Again, this one ties me to a wonderful technology, but one that I’m legally obligated to stay mum about for a while longer. However, if I have anything to say about it, Mickey, you have named the Editor’s Blog for the Longhorn DevCenter when it goes live. Thanks!

The one I did pick was a blend from three guys: Mike Prilliman, Chris Burrows and Roland Tanglao. They each gave me parts of my new RSS feed name: “Marquee de Sells: Chris’s insight outlet”. This name has tons of wonderful qualities:

  • it’s unique on the web
  • it’s short and distinctive
  • I share a birthday with the Marquis de Sade
  • the Marquis and I share an unhealthy obsession with our respective writing topics of choice
  • my logo is an abstract of my naked picture (the Marquis’s topic of choice : )
  • a marquee is an entrance (like my homepage) with a sign announcing what’s new (like my feed)
  • my feed is an outlet for my insights, whether code, writing or interesting things I find I the web
  • “insight outlet” sounds like “inside out,” which connotes how open I try to be (ok, I’m stretching on this one, but “insight outlet”
    *does* sound cool : )

Of course, once I’d picked a name that blends entries from three people, I had the problem of how to award the prize: a single seat at the the Applied XML Developer’s Conference. And then I remembered that it’s my conference, so all three of them get free seats. Welcome!

BTW, the Applied XML Developer’s Conference is going to rock. Register now before all the seats are gone.

June 18, 2003 .NET

Hosting Windows Forms Designers

This article comes with the full source for hosting the WinForms Designers to enable form design in your own app. To my knowledge, none of this stuff is supported, but that doesn't make it any less cool! [mikedub.net/GalleySlave]
June 18, 2003 Tools

XmlSerializerPreCompiler

Tired of the XmlSerializer’s generic “File or assembly name ctewkx4b.dll, or one of its dependencies, was not found” exception? The XmlSerializerPreCompiler tools checks to see if a type can be serialized by the XmlSerializer class and if it can’t, shows the compiler errors happening behind the scenes so that the type can be modified. Enjoy.

This just in: Mathew Nolton has posted a GUI front-end to my XmlSerializerPreCompiler that you might find useful. Thanks, Matt!

June 18, 2003 Spout

End-To-End RSS + Comments

My RSS 2.0 feed exposes end-to-end support for the comments specifications I’m aware of:

Several other folks are working on producing and/or consuming the <wfw:commentRss> extension as well, including Joe, Sam, Scott, JamesS and Kevin. JamesD posted instructions on how to do it with MoveableType. Hopefully Dare, Luke and Nick will follow suit.

June 16, 2003

(web) matrix reloaded

From Rick Childress (www25.brinkster.com/rchildress): Web Matrix 0.6 has been released.
June 16, 2003 Spout

Releasing Nested Objects in Rotor

Chris Tavares is making more progress finishing up the Ref-Counting in Rotor project:

class FinalizerObj {
  int n;

  public FinalizerObj( int n ) {
    this.n = n;
    Console.WriteLine(“Created Finalizer object {0}”, n);
  }
 
  ~FinalizerObj() {
    Console.WriteLine(“Finalizing finalizer object {0}”, n);
  }
}
 
class FinalizerContainingObj {
  FinalizerObj subObj1;
  int n;
  FinalizerObj subObj2;
 
  public FinalizerContainingObj( int n ) {
    this.n = n;
    subObj1 = new FinalizerObj(n * 100);
    subObj2 = new FinalizerObj((n * 100) + 1);
    Console.WriteLine(“Creating containing object {0}”, n);
  }
 
  ~FinalizerContainingObj( ) {
    Console.WriteLine(“Finalizing finalizer containing obj {0}”, n);
  }
}
 
class TestApp {
  static void Main() {
    for( int i = 0; i < 5; ++i ) LeakAnObj(i);
  }
 
  static void LeakAnObj(int i) {
    FinalizerContainingObj obj = new FinalizerContainingObj(i);
  }
}

Running this app under our ref-counted Rotor yields the following output:

C:\Home\Chris\Projects\Rotor\src\tests>clix FinalizerTest.exe
Created Finalizer object 0
Created Finalizer object 1
Creating containing object 0
Finalizing finalizer containing obj 0
Finalizing finalizer object 0
Finalizing finalizer object 1
Created Finalizer object 100
Created Finalizer object 101
Creating containing object 1
Finalizing finalizer containing obj 1
Finalizing finalizer object 100
Finalizing finalizer object 101
Created Finalizer object 200
Created Finalizer object 201
Creating containing object 2
Finalizing finalizer containing obj 2
Finalizing finalizer object 200
Finalizing finalizer object 201
Created Finalizer object 300
Created Finalizer object 301
Creating containing object 3
Finalizing finalizer containing obj 3
Finalizing finalizer object 300
Finalizing finalizer object 301
Created Finalizer object 400
Created Finalizer object 401
Creating containing object 4
Finalizing finalizer containing obj 4
Finalizing finalizer object 400
Finalizing finalizer object 401

In other words, all top-level and 2nd-level objects are finalized deterministically. Wahoo!


← Newer Entries Older Entries →