dangriff's WebLog

  • New blog site

    Please come visit me at my new blog site.

  • Comments on Microsoft's Smart Card Deployment Whitepaper

    Following my recent post about the availability of the new Microsoft Card Module API and Base Smart Card Crypto Provider, I went digging for documentation about the pilot deployment of that technology.  I found a good whitepaper here.

    I can't resist making a couple of comments about it, though :)  For one thing, the author includes a bit of a digression about digital certificates and attempts to make an analogy to drivers' licenses.  Apologies in advance that I include the whole paragraph for reference, but it's so ripe for commentary.

    "Note: Digital certificates, similar to identification cards, are an
    encrypted set of electronic authentication credentials that are used to
    certify the online identities of individuals, organizations, and
    computers.  Certificates are issued and certified by certification
    authorities (CAs).  Like driver's licenses, digital certificates are
    issued by CAs to provide proof for verifying the identity of online
    entities.  However, instead of containing a photograph and the signature
    of the owner of the certificate, a digital certificate contains
    information that identifies the certificate's owner on the network and the
    owner's public key, binding the two elements together.  Furthermore, a
    certificate identifies the CA (called the issuer) that issued the
    certificate, and this CA must be authorized within the enterprise, to
    issue authentication certificates."

    1.  Digital certificates are not generally encrypted.  In fact, Microsoft's PKI depends on the more-or-less 'public' nature of certificates, at least within the scope of a given enterprise.  For example, if I steal your smart card, I can read off the certificates and decipher all information included therein.  But unless I have obtained both your card and your PIN, I can't open up the metaphorical door for which the card and PIN are the key.  So encryption of the certificate won't buy you anything more than broken scenarios.

    That said, some enterprises are pushing for inclusion of personally identifiable information (PII) or other more private data in their users' certificates.  Note that this still doesn't imply that the certificates are encrypted.  Still, the private data push is interesting, and it certainly places new and different burdens on the applications in which certificates have been used.  For example, digital certificates are sometimes used to bootstrap key agreement protocols.  How can two parties confidently exchange certificates over an untrusted link if the certificates contain PII?

    2.  Back to the whitepaper ... I don't think the author intended to imply that drivers licenses are issued by Certification Authorities.  I would prefer to state that drivers licenses are issued by "Licensing Authorities" (e.g. the Department of Motor Vehicles).

    3.  Contrary to the second-to-last sentence, certificates may in fact contain, or at least refer to, a photograph and/or signature of the owner.  See this RFC.

    One final comment on the whitepaper brings me back to the original point:  the following snippet is a testament to the quality of the new smart card interface and CSP (which are indeed publicly available, contrary to what is stated later in the paper).

    "The benefits the card management team derived from using a CSP developed
    by Microsoft were that it was small, very secure, efficient, fast, very
    reliable, and offered clear end-user error messaging.  In short, its
    performance met all Microsoft IT requirements for its clients."

     

  • Web 2.0 - Evolution or Revolution?

    To paraphrase Bono, there's been a lot of talk about this next topic ... especially in Business and Entreprenuerial magazines lately.  It was certainly a topic of conversation at last night's Northwest Entrepreneur Network - Evening Seminar.  The topic of that seminar was actually Internet Marketing.  But the topic of this post is even more slippery. 

    Web 2.0.  First, does it even exist?  Yes.

    Three anecdotes that small-business owners shared with me last night. 

    One hosts his site on Yahoo (or similar).  Part of this offering is free cross-platform (e.g. Unix/Windows) interop tools for download, and he gets tens of thousands of hits per month.  This seems like a minor example, but the key observation is this:  it's way easier to run such a site now than it was seven years ago.  In this case, he has access to a highly scalable web hosting solution (i.e. Yahoo) for little expense up-front, and little expense month-to-month.

    The second anecdote:  an entrepreneur providing a content integration and management service for P/R people and market researchers.  Again, what's the difference in buliding his service now vs in the late 90s?  In his case, it's more about the ease of programming the interactive web:  AJAX. 

    The third anecdote:  a great guy building a content/search site for kids.  I won't be more specific than that, but the point is this - he's learning PHP and MySQL as he goes, and it's coming along darn fast.  Consider the power and quality of those tools, and then consider the fact that they're free.  That just didn't exist in 1999.

    In summary, here's what Web 2.0 means to me.

    1.  Technology.  Web and internet related technologies have come a long way.  I can give more examples:  look how Java and Flash have evolved.  Python.  And don't underestimate the importance "tech support" via searching the web.  In summary, the tools have improved, and they're free.

    Another technology factor:  cheap servers.  You can buy a Sun box with Linux for $1000, ready to run Apache!  How much did a system of the same relative power cost during the Internet bubble?  I don't know, but I bet it was 10 to 20 times that.

    2.  People.  More programmers have been trained on the technologies required to start and run an Internet business.  The training came from Universities and then from their first few jobs at big companies.  The gradually increasing accessibility of an overseas, talented labor pool (e.g. Computer Science PhDs in China) has steadily driven down the cost of getting this type of work done.

    3.  Money.  I've read that Venture Capital is flowing again to internet related companies.  Ironically, as we've observed above, these companies can now get much farther without big funding.  But less risk can be a good thing.  And anyway, when it comes time to scale up the company in a big way, you still need big funds.

    So the final question is this - is Web 2.0 simply evolution - Moore's law, a global workforce with an evolving skillset, the steady advancement of Information Technology?  Or is Web 2.0 really the 2nd internet revolution?  I say Evolution.  That doesn't mean it's not interesting.  But the changes above aren't revolutionizing business with a big loud bang.  That was Web 1.0.  Web 2.0 is an evolution of the Web 1.0 business model:  more ideas, more competition, less risk.  And best of all - no bubble!

  • The new Card Module API

    What is it and why is it relevant?  Well, the CardMod API is a new interface for exposing common smart card functionality.  It's by far the easiest way for an ISV/IHV to integrate support for their smart cards into Windows, particularly when targeting PKI scenarios.  It'll also be a sweet way for application writers to interface uniformly with different vendors' cards.

    The header (i.e. cardmod.h) is available in the latest Vista CTP SDK download.  As of this post, the latest is February and can be found here.

    Documentation for the new API is available online here (see "Smart Card Module Functions").

    The premier client for the new API is the Base Smart Card Cryptographic Service Provider (CSP), which is also now available for download and deployment, from Windows Update (select Custom -> Software, Optional).  For the record, the CSP has been heavily tested - it's been rolled out since 2002 at Microsoft and is required for remote access to the corporate network. 

    In summary, what used to be an extremely painful job - writing a monolithic smart card CSP to add support for your card in Windows - can now be accomplished by implementing this much simpler ("mini-driver-like") interface.  Anecdotally, we've seen CSPs take multiple man-years to develop, while we've heard of experienced smart card vendors completing a card module in one month!  And it worked the first time we tried it (ah, that was a good day)!!

  • Running a VMware 64-bit guest OS on AMD requires 90nm CPU technology

    This post can basically be summed up by this VMware KB article; however, arriving at this bit of knowledge took some trial and error, to say the least, and I still don't know the whole story.  Maybe someone out there can fill in the gaps.

    Until quite recently, I've been running a home-built AMD Athlon 64 3500 (2 GB RAM; SATA; MSI mobo) based system.  Circa last year, that was a sweet system for the money, especially since the proc was fast and cheap.  I've even been running 64-bit XP on it, and the only major challenge has been the non-availability of a driver for my Canon multi-function printer.

    I've lately had the need to do some 64-bit testing, though.  I typically use a VM for this, so as not to toast the host system, and the beauty of it all is that the latest VMware workstation product supports 64-bit.  I installed the 5.5 demo on my 64-bit XP system and got various 32-bit guest systems running in no time. 

    When I finally tried to install a 64-bit guest, though, VMware rejected it, saying that my host wouldn't wouldn't support them (I tried 64-bit SUSE 10, as well as XP 64).  I thought - bull sh*t; I've got a 64-bit proc running a 64-bit OS - what's the problem! 

    Well, come to find the VMware KB post linked above.  I also found a tool called CPU-Z at http://www.cpuid.com, ran it on my system, and discovered (along with lots of other interesting details) that my Athlon uses 130nm CMOS technology.  Therefore - not capable, from the perspective of VMware, of running a 64-bit guest.  Here's the $64 question - does anyone know why, technically, this is?  I searched briefly and couldn't find a good explanation.

    Anyway, I just bought a Dell Precision 670 (Xeon/SCSI) :)  And - that proc is 90nm, not that it matters ...

  • What's the bar for getting a job working on <your component>?

    My boss and I were discussing the types of projects that newbies might want to tackle on their own time, if they aspire to working on some of the components that our team (Windows Security) owns.  He first gave an example that was much more exciting than that though - video games - since that was his job in a former life. 

    He said, to paraphrase, "everyone wants to work on video games, right?  Well what would you ask someone to do to prove him/herself before taking on real work?"  He gave the following list.

    1.  Write Breakout.  There's an input loop.  I also infer (I have no background in games) that there would be some challenge in getting the rendering to run smoothly as well, even if it's just running in a window.

    2.  Then write Asteroids.  Remember linear algebra?  Now you get to use it.

    3.  Then render your face on a cube.  Maybe put it in the middle of a "hallway" perspective like Wolfenstein.

    After he listed those, I thought, wow how cool!  I don't even want to work on games, but those sound like cool projects.  I'd even do #1 or #2 just for kicks.  It's actually kind of an interesting way to think about an established technology area - what are the smaller projects that someone should do in order to ramp up?  For security/crypto/smart cards:

    1.  Hash and digitally sign some data.

    2.  Ditto, but with a certificate.

    3.  Ditto, but you have to enroll for the certificate (programmatically, of course), and using a smart card.  The end result should be a signed PKCS#7.

    Etc. 

  • Cool trick for detecting a hacked compiler

    It's funny - but I seem to remember back in my undergrad days when this classic paper was re-published in this form - http://www.acm.org/classics/sep95/.  Actually, I didn't know anything about the paper directly.  Rather, around that time, I remember the resulting banter in the CS undergrad computer lab.  The story that was passed along typically went something like this.

    1. Suppose the user thinks he has a trojaned, or otherwise untrustworthy, application binary.  The effective example cited in the ACM paper is the system's interactive logon application.
    2. But - the user has reason to trust the original source code of that app.  For example, suppose he completely read and verified every line.
    3. So the user recompiles the application binary via the trusted source code and is now confident in the trustworthiness of the resulting binary.
    4. Implicit in the story - and your average CS undergrad back then had no problem making this assumption - is that the compiler is itself trustworthy.  But what if it's not! 
    5. Namely, suppose an attacker has compromised not only the compiler binary, but the source code for the compiler.  As a result, for example, that compiler injects a trojan into every program it compiles.

    Bruce Schneier's recent CryptoGram - http://www.schneier.com/crypto-gram-0602.html#16 - highlights a recent paper - http://www.dwheeler.com/trusting-trust/ - that presents a cool mitigation for this threat.  The technique is called Diverse Double-Compiling.

    This is definitely the first time I've ever been inspired to write, or at least adapt from someone else, my own C compiler, just for the shear thrill of knowing that I've done my part to protect myself from this cool conceptual attack that reminds me of those glorious undergrad days!  Now, don't get me wrong:

    1. This is more paranoid than I actually am, so I almost certainly won't spend much more time on it than it takes to write this blog entry.  Plus, and more importantly ...
    2. It's inconceivable that Microsoft would ever intentionally ship a compiler w/ such a flaw.  Too much to lose.  Could some internal rogue engineer slip something by?  Maybe, but still unlikely, given the scrutiny of internal code-reviews, testing, Beta releases, etc.  Ditto for other major for-profit compiler vendors.
    3. What about GCC?  I've read arguments that modern compilers consist of such huge code bases that tight control over all changes is impossible.  Clearly you're taking a silly risk if you download your compiler source from hackersrus.com.  But the threat is well mitigated, at least with respect to my own paranoia level, by taking the same steps that a responsible IT shop takes before rolling out new software.  Namely, get a well-tested version from a trustworthy vendor. 
  • Readings on NT system calls

    I've lately been digging into how NT user mode API calls, as well as system calls into the kernel, can be patched.  This began as idle curiosity about system integrity checks, but has evolved into full-blown awe about the detailed analyses of these subjects that are available out on the web.

    Yes - some of the documentation was written by, and for, bad people such as rootkit writers.  But some of it was clearly not, and reading it has reminded me of few things.

    1.  After many years of writing code for the OS, there are still lots of things I don't know about it.  That's nice and humbling.

    2.  Picking a technical topic and trying to learn as much about it as possible via the web (can you say google-driven learning) is really fun and beneficial.

    3.  As a corollary to #2, there's an amazing amount of 'free' info available online on arcane technical topics.

    4.  I almost self-suppressed this post, since I hesitated to commit an act that might be viewed by others as contributing to the propagation of information frequently associated with nefarious purposes.  But then I remembered that, since the bad guys already know way more about this stuff than what I've referenced below, the best thing I can do is help the good guys learn.

    So, anyway, here are some interesting links.

    http://www.summitsoftconsulting.com/NtSystemCalls.htm

    http://www.sysinternals.com/Information/NativeApi.html

    http://www.internals.com/articles/apispy/apispy.htm

    http://groups.google.com/group/microsoft.public.windbg/msg/dfe809e4eaf122d8

    http://www.phrack.org/phrack/55/P55-05

  • Some Light Weekend Reading

    1.  Current popular press sentiment on space shuttle Columbia, from MSNBC.  The most interesting comment is from one of the astronauts, who expressed "disappointment" that (if I apply my own interpretation of his statement ... :) the engineers on the ground fucked up again.

    2.  The Millennium Prize problems in mathematics.  Basically, if you can solve one of these uber-math-problems, you win $1 million (and, one might reasonably assume, fame, a tenured professorship somewhere fancy, etc.).  I found this via an article in the August "Communications of the ACM" which argues that one of reasons undergraduate enrollment in Computer Science has dropped off precipitously is that we've done a bad job of making it sound as interesting and important as it really is.  The example here is that one of the Millennium Prize problems, P vs NP, could generally be appreciated by a high school student (it is suggested that the other six problems are not as accessible).  The importance of NP theory is pervasive.  For example, the modern cryptographic techniques used to secure an online purchase were developed following early work in NP (the specific example being the lack of a general polynomial time solution to factoring big numbers).  Further examples of the cross-disclipline impact of CS research include gene sequencing, modern particle physics, and all of the stuff that makes Google possible (or useful).  High school students can certainly grasp the relevance of these advancements, and yet are rarely exposed.

    3.  Speaking of Google, the August CACM also pointed to this paper, The Google File System, as a popular download this year, so I decided to check it out.  A couple of cool points:

    • The f/s is optimized for storage of large files.  In fact, the chunk size, or smallest storage unit requested and replicated across nodes, is 64 MB!
    • Data flow is decoupled from the transmission of metadata.  So much so that the two can travel from the client to primary and secondary storage nodes in different orders, allowing data flow to be optimized for link speed and latency.  Metadata flow is instead optimized for fault tolerance and consistency.

     

  • Push the Reset Button

    I have to admit - I've really had an overall bad experience building this media center PC.  At some point a month or so ago, the thing just stopped booting.  Subsequent attempts to reinstall were not successful.  The main problem I had at that point was getting setup to find my SATA drive.  All the installation media that had worked previously - using XP Gold, XPSP1 slipstream, Media Center 2005 - combined with the BIOS configuration - basically a single-drive RAID, wouldn't work.  I was pissed.

    So I went down to Fry's last weekend and bought some different gear.  First, I got a Seagate 160GB IDE disk - big, cheap, and guaranteed to not require a 3rd party driver :)  Next, I got an Antec Sonata case - it was on sale for around $100, includes a 450W power supply, and it really is quiet.  Much - much - quieter than the Lian-Li desktop case I got originally, and since it's a tower, it's a lot easier to work with.  Plus it's shiny black and looks good.  Finally, I picked up a Hauppage PVR-150, since that seems to be what everyone recommends.

    The new stuff got me pretty far during the week.  But I still had major problems with the ATI All-in-Wonder.  As soon as I installed its drivers, the machine became sluggish for about 30 seconds and finally locked up - every time.  What a piece of crap!  The strangest thing is, there are people who's opinion I really trust that totally recommend that card.  Maybe the problem is that I'm running an amd64 (although still with 32-bit Windows).  That's my best guess.

    So I took Friday afternoon off, determined to do whatever it was going to take to get this system working (I've spent countless hours on this thing by now, and I just needed to move on to bigger and better things in life, you know?), and went and picked up an nVidia GeForce 6200 at Best Buy.  Yes - it's a relatively older card, and I'm sure I overpaid for it, but you know what?  It worked the first time - no problems.

    My experience since then has improved considerably!  The only pain, and this is always the case regardless, is downloading the latest drivers for everything and going through about 10 reboots.  After that, I plugged in my cable TV feed to the Hauppage to try my luck.  It detected the available channels and I was recording sappy daytime television in no time!

    The next test was to try to configure the builtin digital audio output on the ASUS mobo.  I won't be using this box as my regular DVD player, but I was just curious if I could get the 5.1 to work.  About 2 hours later, I still was only getting stereo.  Then I learned - the nVidia software decoder that I was demoing doesn't output 5.1; it downgrades it to two channel.  I read that the latest WinDVD software decoder would allow the digital out to pass the full 5.1 signal, but I haven't tried that yet.  Since everything else is working at this point, maybe I never will!

    One practical problem remains - my old house doesn't have grounded outlets, at least not where I need them, and I'm nervous about plugging in every single piece of my relatively new entertainment center gear into a single ungrounded outlet via adapters.  That's just asking for trouble.  So I need to install a grounded outlet before I setup this machine in that area, run it through the main receiver, and use the TV as the primary display.

    What a mission!

  • No Email Fridays?

    I seriously doubt I could pull that off - although that's the one day of the standard work week where the concept could conceivably succeed for me.  One problem is that it's not enough for me to say to my dev team - "Okay, no email today.  If you want something, go talk to that person ftf."  I don't have that kind of leverage over our peer teams.  Let alone our other internal and external customers who might still email us that day and expect a quick response.  Then again, over some teams, maybe I do have that kind of leverage, at least indirectly.  Plus we could always set an OOF to explain what's up.  Might be worth trying.

    This popped into my mind when I was reading this blog post about a talk Linda Stone recently gave in San Franciso.  Actually, the more interesting part is the feedback discussion at the end of the post.  I'm sure Linda's talk was great though - I wish I would have known about the Supernova conference this year; looks cool.

    I thought about Linda Stone because I've been reading one of these "self-help"/business books.  It's called Never Eat Alone, and it's been good for me because it reflects my own passion for cultivating meaningful connections between people.  I wouldn't even call myself a good Networker.  It's just that I enjoy helping people make connections with other people.  I'm not even certain that I'm particularly good at even that part.  But I really like doing it!  So I thought to myself, I wonder if there's a way to make a career out of doing that?

    And then I remembered meeting Ms. Stone at Microsoft some years ago.  If memory serves, I was kind of an asshole at that meeting, because I was mad that the company's various outreach programs had been, at least up to that point, unwilling to sponser our involvement in US FIRST, which I took to be a significant wasted opportunity.  Anyway, in terms of helping people to make connections, Ms. Stone has quite a reputation.  I figured that if I believe a single thing that book is saying, I should try to arrange a meeting to seek her advice.

  • Does Google suck?

    Try this search in both http://search.msn.com and http://www.google.com:

    who is the vice president of the usa?

    Okay, I'll spoil it - MSN returns the (correct) current VP, right at the top, based on their builtin encyclopedia lookup feature.  Google, however, returns some link to Hubert Humphrey as its top link.  Pretty comical actually.  Frankly, I'm not sold on one engine vs the other at this point, but that's pretty lame.

  • New MCE machine - Reversal of Fortune

    I got my new machine up and running!  In fact, I'm now listening to the Rush in Rio DVD in Dolby Digital on this machine while I write this post.  And since it's in my living room (as opposed to my un-kid-friendly office), it's easy to sit here with the baby.  Paradise!

    Getting this box running was a bit of an ordeal, though.  After initial setup, when the machine ultimately wouldn't POST, I ended up buying a new BIOS chip.  Since I'm impatient, I paid a total of $40 for that little chip, including shipping.  And when it arrived, imagine my chagrin when I bent some of the pins during installation.  I was about to kill myself at that point.  But I got out the needle nose pliers to set things straight and seemed to get the chip to seat correctly.  I prayed.

    But the box still wouldn't boot.

    It this point, I figured the only option was to send back the whole board and start over.  I posted my latest dilemma to the directron.com support site, and someone suggested that I disassemble the whole thing as a last resort and try to just get the board to POST sitting on a piece of cardboard with the video card seated.  Certainly an approach I wouldn't have thought of myself.  Suffice it to say - it worked.  I couldn't believe it.  There must have been short somewhere; I'm lucky nothing got fried.

    However, to date I still can't get 64-bit Windows to boot on this thing after setup completes.  So I'm running 32-bit XP right now.  I'm debating whether to install MCE 2005, but I read that domain join is disabled on that SKU, so I'm having second thoughts since I run a home domain (although pratically speaking domain membership probably isn't critical for this machine).  On the other hand, the ATI All-in-Wonder software theoretically does everything that I would otherwise need MCE for, so maybe I'll go that route.

  • 64-bit Media Center PC Problems

    I recently bought components to build my own media center PC.  The primary purpose is to be able to conveniently rip my CDs to mp3 and listen to them on my stereo.  The secondary purpose is to be a Personal Video Recorder, since we don't already have a TiVo or anything.  I've had some problems getting the PC up and running, though.  Here are the components I went with, along with comments about my experience so far.

    • Asus K8V SE Deluxe mobo
      • I read about this mobo in Computer Power User, or a similar mag, and it was rated favorably.  I think it's actually intended more as an over-clocking board for gamers, and over-clocking isn't my thing, but whatever.  This piece has been my most significant source of angst so far, though.  The problem is that it came with an old bios revision, which wasn't compatible with my processor, or possibly just not compat w/ 64-bit WinXP.  Suffice to say, I managed to get XP installed, but it wouldn't boot after that.  In booting to safe mode, it appeared that the last driver to load was ACPI-related, so I was pretty confident that a bios upgrade was in order at that point.  But the bios update failed, even after I tried the latest flash tool and image from the Asus website!  Now the board won't POST, and I'm waiting for a new bios chip from Asus.  The latter is costing me $40 in order to not have to wait two weeks for it to show up.  Not cool.  I fault both Asus and Directon.com for supplying me w/ gear that's out of date and not compatible.  How hard would it be for them to pop the latest bios into the board when they ship it to the customer?
    • AMD64 2800+
      • This proc is getting to be a bit slow these days clock-speed wise, but it's damn affordable and still pretty fast.
    • 512 MB RAM
      • I decided not to go with a gig in order to save $$ to spend on the other components.
    • 80 GB SATA Seagate Barracuda HDD
      • This is basic stuff at this point - SATA has apparently become the standard gear for performance PCs (as opposed to servers, for which SCSI still makes sense) since it's fast and it versatile in multi-drive configurations.  However, 64-bit XP couldn't find my drive during setup, by default.  This was really weird, because I built a similarly configured PC about six months ago and it worked just fine (see my earlier post).  Anyone have any idea what's up with this?  Anyway, it didn't occur to me to try installing a 3rd-party SATA driver during setup, so I instead configured it as a one-drive RAID "array" and installed the appropriate driver for that instead.  Interestingly, this mobo has two different RAID controllers present.  But this seems to be working, assuming I can get the bios fixed.  
    • Antec Phantom 350W Fanless PSU
      • I spent a bit extra on the PSU in order to make the machine as quiet as possible.  This thing is built like a big heat sink, which is expected.  The tradeoff is that I'm not using a tower case, so everything's packed pretty close together, and during my initial boot testing the components were getting pretty hot.  My gut feeling at this point is that I should have bought a fan-based PSU w/ a really quiet fan since that might have kept the overall PC cooler, but finding a quiet fan seems really hit or miss.
    • Black Lian-Li Desktop PC-V800B case
      • I think this case looks great, and it's solidly built, in accordance w/ Lian-Li's reputation.  The front of the unit reminds me of a power amp, so it should look right at home in a media center.  One hitch, the 3.5" drive bays require plastic rails that let the disk simply slide in.  I've been told that those are proprietary.  But the box didn't come with any!  As a result, the optical, floppy, and hard disks are stacked right on top of each other at the front of the case, since I can't use the separate bays off to the side without finding the darn brackets.  That's not helping air circulation, I'm guessing.
    • ATI All-in-Wonder 9800 Pro, 128 MB, AGP8x video card
      • I consider this to be the component I took the biggest risk with, for a couple of reasons.  First, it's an older model, which let me save some cash.  Second, the newest cards are PCI Express, which in some situations can apparently be much faster than AGP, although requires a supporting mobo, which the above does not.  Third, I read that if you really want to do television PVR, you should buy a separate Haupage TV tuner, which I wanted to avoid, again for cost reasons.  Finally, although I didn't learn this until afterward, my buddy Gus bought this until a year or so ago and had poor results w/ the ATI's driver quality.  I sincerely hope they've cleaned up their act since then, or else I'm going to feel really screwed on this purchase.

    Anyway, I'll post on update once the new bios chip comes.  I'm still on the fence about whether to really try to use this new machine w/ 64-bit XP, or to chicken out and use 32-bit Windows MCE instead.  All of my drivers (except the printer ...) seem to be available on 64-bit, but it still might be too much of a hassle to not be using the built-in features of MCE.

  • Opportunities in Homeland Security

    A cool networking event is coming up, if you're in the Puget Sound area.  I volunteer with this group - the Northwest Entrepreneur Network - and helped organize our upcoming evening seminar on Homeland Security.  It's free, and we always have a good/interactive crowd turnout for these events.

    Details at http://www.nwen.org/calendar/seminar.htm.

More Posts Next page »

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker