Google IRC: Group Chat Rooms on Google

We have been recently struggling with trying to find a good group discussion forum for real-time collaboration. With members of new team spread over multiple time zones and network availability, it is good to have real-time interactivity without going through email or mailing lists. IRC with some logging and searchability would be nice as long as it is reasonably secure. We are still looking into it, so let me know if you have any good answers.

While trying to figure out, I happened onto the cool Google Chat Room hack. Google group talk by default only lets you create invitations to group chat and add more people to it. The is no subscribe mechanism to join an existing group chat unless someone in the chat invites you in. if you drop off the connection, you have to be re-invited again. What we want is a persistent chat room in Google Chat.

If you happen to be using external chat software (ala Pidgin, Adium, etc.), then there is a hack to create a pseudo room.

It turns out that there is a way to keep a persistent channel open using group chat. All google chats are named as private-chat-UUID. From pidgin etc. You can join a chat with whatever UUID you pick and it creates the room if it does not exist. Once the room is created and you invite people, all the people can log off and on but can still
join the same room without needing to be invited again. Voila! Channel. The nice thing is that all these chats show up on the gmail folder and are searchable. So you just join a chat with a randomly generated UUID (using uuidgen or other web tools for random UUID generation). Note that just knowing the random UUID is not enough for outsiders to join the room. All participants have to be invited at least once by the initiator. So it does remain secure as a normal group chat.

This blog post has more details.

Now that there is an IRC/ChatRoom, what about people who are interested in seeing what the discussions were when they were offline and search for any technical information in the future? It is relatively easy to use a script running on an always on machine to capture all the google chat and email it as an archive to all users. Here is the shell of such a script. Making it send emails or create other archives is left as an exercise to the reader…


#
# Basic script adapted from Net:XMPP client.pl to join a chatroom and print out the log...
#

use Net::XMPP;
use strict;

if ($#ARGV < 6)
{
print "\nUsage: perl chatter.pl \n\n";
exit(0);
}

my $server = $ARGV[0];
my $port = $ARGV[1];
my $username = $ARGV[2];
my $domain = $ARGV[3];
my $password = $ARGV[4];
my $chatroom = $ARGV[5];
my $resource = $ARGV[6];
my $connectiontype = 'tcpip';
my $tls = 1;

$SIG{HUP} = \&Stop;
$SIG{KILL} = \&Stop;
$SIG{TERM} = \&Stop;
$SIG{INT} = \&Stop;

my $Connection = new Net::XMPP::Client();

$Connection->SetCallBacks(message=>\&InMessage,
presence=>\&InPresence,
iq=>\&InIQ);

my $status = $Connection->Connect(
hostname => $server, port => $port,
componentname => $domain,
connectiontype => $connectiontype, tls => $tls);

if (!(defined($status)))
{
print "ERROR: Server is down or connection was not allowed.\n";
print " ($!)\n";
exit(0);
}

# Change hostname
my $sid = $Connection->{SESSION}->{id};
$Connection->{STREAM}->{SIDS}->{$sid}->{hostname} = $domain;

# Authenticate
my @result = $Connection->AuthSend(
username => $username, password => $password,
resource => $resource);

if ($result[0] ne "ok")
{
print "ERROR: Authorization failed: $result[0] - $result[1]\n";
exit(0);
}

print "*** Logged in to $server:$port...\n";

$Connection->RosterGet();

print "*** Getting Roster to tell server to send presence info...\n";

$Connection->PresenceSend();

print "*** Sending presence to tell world that we are logged in...\n";

$Connection->PresenceSend(to=>$chatroom."\@groupchat.google.com/".$username."\@".$domain,show=>"available");

while(defined($Connection->Process())) { }

print "ERROR: The connection was killed...\n";

exit(0);

sub Stop
{
print "Exiting...\n";
$Connection->Disconnect();
exit(0);
}

sub InMessage
{
my $sid = shift;
my $message = shift;

my $type = $message->GetType();
my $fromJID = $message->GetFrom("jid");

my $from = $fromJID->GetUserID();
my $resource = $fromJID->GetResource();
my $subject = $message->GetSubject();
my $body = $message->GetBody();
print "$resource: $body\n";

}

sub InIQ
{
my $sid = shift;
my $iq = shift;

my $from = $iq->GetFrom();
my $type = $iq->GetType();
my $query = $iq->GetQuery();
my $xmlns = $query->GetXMLNS();
print "===\n";
print "IQ\n";
print " From $from\n";
print " Type: $type\n";
print " XMLNS: $xmlns";
print "===\n";
#print $iq->GetXML(),"\n";
#print "===\n";
}

sub InPresence
{
my $sid = shift;
my $presence = shift;

my $from = $presence->GetFrom();
my $type = $presence->GetType();
my $status = $presence->GetStatus();

print "$from: $status\n";

}

Posted in Technology | Leave a comment

Consumption versus Creation: Why I like the Padfone Tablet/Phone

I have been evaluating the numerous tablets (including the iPad obviously) and trying to figure out if I really need one. Since I already spend 8+ hours a day in front of a laptop/desktop, it seemed a little redundant to add another device into the family. The few times I have had to lookup something while around the house but not going to the computer, I just use the iPhone.

However, recently my wife noticed that I have been using the phone a little too much while not actively using my laptop. She wondered aloud if she should get me an iPad. However, when a book she wanted to read urgently did not show up from Amazon, I convinced her to get a nook color and download the book instead.

Of course, the moment she was done reading the book, the nook color was hacked and overclocked. Now I have a perfectly functioning 7 inch Android tablet with a gorgeous screen (1024×600 IPS). There are other tablets but not a $225 device with such a good screen. Android just runs off the SDcard too so I can just reboot to the stock nook experience without any hoops. I have tried booting into a Honeycomb version too but decided that it was too unstable for the kids though I loved it. (Here is the xda-developers thread for the adventurous).

While customizing the Android on nook color I realized how much I missed my Windows Mobile 6 phone where you could just change the xml to customize the home screen. On the iPhone you have to go through too many button presses to glance at the calendar or latest email. In WM6 (and in Android and other modern smartphones), you only need to look at the widget on the home screen to glance at latest email headers and calendar appointments. If the stock home screen doesn’t have it, no problem, there is a home screen app that will do it on Android. No such luck on the iPhone.

Once I went back and analyzed the patterns over a few days, I figured out my personal use-case for phones, tablets, and laptops. It is all about Content. In addition to using the phone for phone calls, the reason I use a smartphone is really for browsing to a few sites, checking up on news or letting the kids play a few games. Most of these happen at home or work (near a wifi zone) and almost always involve Consumption of content. This included kids playing videos, music or games which I see happening a lot in households with tablets. A larger screen would definitely make a difference for the couch browsing that most Apple ads demonstrate. However, multiple friends have confided that they have rarely done much more than type a few emails on the their tablets in terms of actually authoring anything.

When Creating content (long emails, documents, or code), I find it much more convenient to use the laptop with comfortable physical keyboard and familiar software. Of course, on a soft keyboard you can peck out a few emails with thumbs but never complicated explanations related to actual work. I was intrigued by the Atrix with it’s dock and wondered if it would make me rethink my usage of the tablet. Of course, there will always be people whose only content generation is emails and some powerpoint for which a phone with a keyboard or the laptop dock makes sense. But, for too many people Atrix+dock is a more expensive combination that is trying to solve the wrong problem. It is trying to replace a netbook or the laptop (Windows or Mac), which is a much bigger hop.

I told friends a couple of weeks ago that the real killer combination for me would be a dumb large screen with a battery that I could slot my phone into and instantly have a Content Consumption screen that is larger but adds no new system to manage apps+data or pay for access costs. I couldn’t understand why no one else could see the obvious need :) Maybe my use case was oddball?

Lo and behold, ASUS announces the Padfone. Hate the name (and the chintzy intro ad), love the concept! Now, if I could only find a way to wean myself off of my grandfathered unlimited iPhone data plan…

P.S. Why is it so difficult for the iPhone keyboard to show lowercase versus uppercase letters when capslock is on instead of ONLY highlighting the capslock softkey? I realized how much more annoying that iPhone doesn’t do it after I started using the android keyboard.

Posted in Technology | Leave a comment

Fault Tolerance: When it segfaults…

Note the following excerpts from the 2011 Amazon Web Services (AWS) outage explanation from Amazon:

When a node loses connectivity to a node to which it is replicating data to, it assumes the other node failed. To preserve durability, it must find a new node to which it can replicate its data (this is called re-mirroring). As part of the re-mirroring process, the EBS node searches its EBS cluster for another node with enough available server space, establishes connectivity with the server, and propagates the volume data. In a normally functioning cluster, finding a location for the new replica occurs in milliseconds.

Two factors caused the situation in this EBS cluster to degrade further during the early part of the event. First, the nodes failing to find new nodes did not back off aggressively enough when they could not find space, but instead, continued to search repeatedly. There was also a race condition in the code on the EBS nodes that, with a very low probability, caused them to fail when they were concurrently closing a large number of requests for replication. In a normally operating EBS cluster, this issue would result in very few, if any, node crashes; however, during this re-mirroring storm, the volume of connection attempts was extremely high, so it began triggering this issue more frequently. Nodes began to fail as a result of the bug, resulting in more volumes left needing to re-mirror. This created more “stuck” volumes and added more requests to the re-mirroring storm.

Here are excerpts from the AWS outage of 2008:

As background information, Amazon S3 uses a gossip protocol to quickly spread server state information throughout the system. This allows Amazon S3 to quickly route around failed or unreachable servers, among other things. When one server connects to another as part of processing a customer’s request, it starts by gossiping about the system state. Only after gossip is completed will the server send along the information related to the customer request. On Sunday, we saw a large number of servers that were spending almost all of their time gossiping and a disproportionate amount of servers that had failed while gossiping. With a large number of servers gossiping and failing while gossiping, Amazon S3 wasn’t able to successfully process many customer requests.

We’ve now determined that message corruption was the cause of the server-to-server communication problems. More specifically, we found that there were a handful of messages on Sunday morning that had a single bit corrupted such that the message was still intelligible, but the system state information was incorrect. We use MD5 checksums throughout the system, for example, to prevent, detect, and recover from corruption that can occur during receipt, storage, and retrieval of customers’ objects. However, we didn’t have the same protection in place to detect whether this particular internal state information had been corrupted. As a result, when the corruption occurred, we didn’t detect it and it spread throughout the system causing the symptoms described above. We hadn’t encountered server-to-server communication issues of this scale before and, as a result, it took some time during the event to diagnose and recover from it.

Now guess which service outage (and when) the following excerpts refer to:

The 4ESS switch used its new software to monitor its fellow switches as they recovered from faults. As other switches came back on line after recovery, they would send their “OK” signals to the switch. The switch would make a little note to that effect in its “status map,” recognizing that the fellow switch was back and ready to go, and should be sent some calls and put back to regular work.

Unfortunately, while it was busy bookkeeping with the status map, the tiny flaw in the brand-new software came into play.

But the switch had been programmed to monitor itself constantly for any possible damage to its data. When the switch perceived that its data had been somehow garbled, then it too would go down, for swift repairs to its software. It would signal its fellow switches not to send any more work. It would go into the fault recovery mode for four to six seconds. And then the switch would be fine again, and would send out its “OK, ready for work” signal.

However, the “OK, ready for work” signal was the very thing that had caused the switch to go down in the first place. And all the System 7 switches had the same flaw in their status-map software. As soon as they stopped to make the bookkeeping note that their fellow switch was “OK,” then they too would become vulnerable to the slight chance that two phone-calls would hit them within a hundredth of a second.

It only took four seconds for a switch to get well. There was no physical damage of any kind to the switches, after all. Physically, they were working perfectly. This situation was “only” a software problem. But the 4ESS switches were leaping up and down every four to six seconds, in a virulent spreading wave all over America, in utter, manic, mechanical stupidity. They kept knocking one another down with their contagious “OK” messages. It took about ten minutes for the chain reaction to cripple the network.

The last excerpt is from the AT&T telephone network crash of 1991 as described in Bruce Sterling’s book, The Hacker Crackdown (I read it on the gopher in the early 90s).

Making hardware that is perfect and fault resistant is difficult and extremely expensive. The prevailing thought process is to assume hardware (processors, memory, disks, network, etc.) will fail and solve the problem in software. You design for it in your software:

Among hundreds of servers in a GFS cluster, some are bound to be unavailable at any given time. We keep the overall system highly available with two simple yet effective strategies: fast recovery and replication.

You add layers on top of it to account for faults in the fault tolerant architecture and you add layers to test the layers (Netflix Chaos Monkey):

One of the first systems our engineers built in AWS is called the Chaos Monkey. The Chaos Monkey’s job is to randomly kill instances and services within our architecture. If we aren’t constantly testing our ability to succeed despite failure, then it isn’t likely to work when it matters most – in the event of an unexpected outage.

Software fault tolerance is also difficult and expensive and has its own faults as the above examples show. With so many years of software engineering learning, why is it difficult?

2011:

During the change, one of the standard steps is to shift traffic off of one of the redundant routers in the primary EBS network to allow the upgrade to happen. The traffic shift was executed incorrectly and rather than routing the traffic to the other router on the primary network, the traffic was routed onto the lower capacity redundant EBS network.

1991:

And sure enough, within the week, a red-faced software company, DSC Communications Corporation of Plano, Texas, owned up to “glitches” in the “signal transfer point” software that DSC had designed for Bell Atlantic and Pacific Bell. The immediate cause of the July 1 Crash was a single mistyped character: one tiny typographical flaw in one single line of the software. One mistyped letter, in one single line, had deprived the nation’s capital of phone service. It was not particularly surprising that this tiny flaw had escaped attention: a typical System 7 station requires ten million lines of code.

Can you prevent a admin from pulling the wrong CAT6 wire or typing eth2 instead of eth1? Can you prevent a single character typo in ten million lines of code?

Posted in Technology | Leave a comment

Real Time Scamming: Scammers exploit bin Laden news in search, Facebook

If only we could do useful products so fast:

Scammers exploit bin Laden news in search, Facebook.

Posted in Security, Technology | Leave a comment

Power Management vs Low Power Design: Watts the difference?

I often get asked why the blog has zero content about my work. If I were to blog about work it will/should be on our corporate blogspace. Search for it. However, I do get asked another question from friends outside work and the brief answer is useful for others.

Most of the people I talk to assume power management in chips is doing low power design.

Low Power design is typically about Watts; reducing the the energy spent in doing the required computation or communication. Power Management is about optimizing Performance/Watts. Managing power can be achieved by reducing Watts by using Low Power design techniques. However, Power Management also involves achieving the best performance for a given application space using the given power budget.

Power Management is not just about Power but about Performance!

Posted in Technology | Leave a comment

DD-WRT Install: Pleasant Hacking

I was one of the early PlayOn paid users and upgraded to Premium recently. It really does work very well on wifi but not too well for video streaming on 3G. If you are interested in remote media streaming, you should definitely check it out. PlayOn and RemotePotato on my Media Center PC have opened up my media for access when I am out of town or when am at a soccer game.

However, my trusty old Linksys WRT54G was showing its age. I had multiple services at home that I wanted to access behind my router but linksys does not allow any static allocation of IPs from the DHCP pool (aka DHCP Reservation). The first few search results showed that DD-WRT supports DHCP reservation. I subscribe to the “hack before you buy” philosophy which is not a very family friendly philosophy. However, a router is mostly invisible to the family so I was willing to try hacking it.

I was pleasantly surprised at how easy it was without having to wade through lot of documentation or innumerable steps.

  • Lookup router version number
  • Download mini and full versions
  • Do a 30-30-30 reset
  • Flash with mini version
  • Do a 30-30-30 reset
  • Flash with full version
  • Do a 30-30-30 reset
  • Configure personal taste

The fact that doing a 30-30-30 reset (hard reset) was the most difficult portion of the install had me questioning why I had not flashed it with DD-WRT years ago.

The web configuration interface is slick and as good as the linksys original if not better. There are a lot more options to play with in DD-WRT compared to the linksys firmware. Now all my services including my Pioneer VSX1120 are easily accessible from my dyndns mapped host. Isn’t open source wonderful?

Posted in Technology | Leave a comment

What FIFA Soccer TV Can Learn From NBA

Everyone who is interested in soccer by now has got a healthy dose of world cup action from ABC, ESPN and Univision (the only choice for all games if you do not have access to ESPN on cable).

I have noticed many fans among friends have been very happy with the amount of TV coverage we got compared other non-USA hosted world cups. ESPN getting TV, Broadband, Mobile, VOD and Radio rights might have had something to do with it.

However, one thing I have been very disappointed with is the replay technology during the telecast. Many times over the last few weeks, I and co-watchers were wondering why it takes so long for the crew to replay a shot at the goal till several minutes have elapsed and the ball has gone up and down the field a few times. Look for it in the final (if they manage to have more shots than the lethargic first half of Germany-Spain). It feels as if the crew is working with bad technology if they cannot cut in the replay and cut back just in case of more interesting live action.

A friend surmised that the fast counter-attack could be one reason that the television crew doesn’t cut back to the replay immediately. Soccer is arguably more continuous game than American Football which is broken up into TV friendly chunks (plays). However, Basketball is still almost as continuous and I have seen the replay of the most critical few seconds of the last play patched in smoothly into the live telecast before the ball is inbound or crosses the half-court. The soccer tv crew definitely has a much longer time window, especially when the ball flies past the goal and is out of play as opposed to a save from the goalkeeper.

Posted in Media, Sports | Leave a comment

Cloud Computing: The Wheel Makes a Circle

Have you noticed the latest white paper advertised on your favorite tech news site? Or maybe you have noticed it in the news itself from your neighborhood technology company. Cloud Computing is the future baby! If you did not know it yet, please try harder to get out from under that rock.

Make no mistake, I do love the technology and the possibilities opened up by what is called as Cloud Computing. Moving the infrastructure Shipping and Handling out of individual responsibility and aggregating and delivering it remotely reduces a lot of pain (most of the time) so you can focus on adding value at the next layer. It is the next step in the march from moving computation boxes from under the desk to the data center. If your customers and employees are going to the information you supply over the web, they do not need to know or care whether it coming from under your legs, from your building or from AWS. However, the hype around the Cloud Computing term is going into excessive overdrive.

Wikipedia article on Cloud Computing has a paradigm shift in the first sentence for the description. So it is not just the marketing folks at technology (and shampoo companies with cloud ambitions) who are frothing at their mouths. Everyone seems to be caught up in the frenzy.

I would recommend everyone (okay maybe only the techies) to browse through the following classic paper from 1968 which I read occasionally to remind myself about concepts that re-invent the wheel:
On the Design of Display Processors (Myers, Sutherland)

Yeah, I know you gave up after a few paragraphs even if you opened that link. Do give it a try at leisure though.

Technology makes progress at a frenetic pace. Transistors go faster and smaller, cables become fatter, signals transmit faster. Every once in a while you realize that you can actually adapt concepts you used to apply to large scale systems and map them to small scale systems and vice versa. The individual processing systems that used to be large can now be compressed into small blocks within a chip. You can apply lessons learned at connecting systems and machines together using networks and apply them to connecting blocks within a chip. The field of interconnection networks was hot late in the 1990′s applying knowledge from high speed switching and routing within mainframe systems back into interconnection networks within multi-processors and network routers.

Mainframe Terminal

Imagine being hunched over a vt100 dumb terminal blinking green and working away at tasks that actually were running on a mainframe computer a few walls away in an air-conditioned locked room. Or maybe you actually needed to be in that air conditioned room. Now make that connection from the terminal much longer and going under a few miles of dirt and few thousand miles of ocean floor. However, make the latency almost same. And make that interface protocol a wee bit more complicated than text terminal display (HTTP, BigTable, MapReduce, Hadoop, Hive, Pixie Dust). Increase the marketing budget by a few million dollars. You get the new Cloud Computing Wheel.

Here is that brand new wheel for you. That rock you were under must have mangled your gray cells to call it the same as the original one:

ancientwheel aircrafttire
Posted in Technology | Leave a comment

Windows Media Center Remote Control on iPhone

Isn’t it ironic that there is more attention paid to iphone remote applications for windows media center control rather than WinMo apps or AppleTV control? I have been comparing the different applications and I have tried a few of them. I drew up a comparison table for my own sake that might be useful to others.

My main control is a logitech 890 remote with RF control of the PC. This works fine for most uses. I also have the gyro remote connected when I really want to use the mouse and open and close windows. Both work reasonable well across walls from about the same distance (a few feet less than ideal but I I use the hand closer to the far closet and they work :) ). I find an iphone less than ideal remote for regular use since I do have to wake it up, unlock and find the app, wait for app to reconnect and then control the pc which takes too long.

However, what I have been looking for is an app to use with the TV off so I select and start music streaming to the receiver without needing to switch the tv on and off. The Library column in the table below is the one that indicates if the app supports display of the music library on the phone to browse.

I had bought PlugPlayer for PopcornHour a while ago and it works well with WMP Sharing to browse the library and play music without needing to switch on my TV or projector. However, it is finicky about picking my receiver to play to whereas it was much better at playing to the PCH as a media renderer. vmcMote is the other solution that I have found works for non-TV music playing. I bought the vmcMote full version which I am trying out. I do not want to buy all of them to try and pick one so if someone has significantly better experience with one of them then let me know.

I will try to update the page as I experiment more and/or find more applications.

Application Web/App Mouse Virtual Keyboard Needs TV On Library Other Apps Comments
PlugPlayer App No No No Yes No A DLNA that can direct and DLNA source to DLNA renderer. Works with 7MC, PopcornHour, etc.
vmcMote App No Yes No Music No Expects to only support Music Library. LITE for Trial with 100 songs(Free), Full ($7.99) App Versions
RemoteX App Yes No Yes No Yes Costs $0.99 to $1.99 for multiple apps. Has basic media center buttons and navigation but no library.
Remotely Possible App Yes Yes Yes No Yes Large buttons with multiple screens. No Trial/Free Edition
NControl App Yes Yes No Yes No Shows TV Channels on Phone but I had trouble getting it to load any of the libraries reliably (Maybe because mine are on WHS).
Remote Kitten App Yes Yes Yes No No Adware and Paid Versions
Logitech Touch Mouse App Yes Yes (Windows Keys) Yes No No Not specific to media center. General Mac/Windows iphone mouse+keyboard
hipporemote App Yes Yes Yes No Yes Runs over winVNC. LITE(Free),Basic,Pro App Versions
remoteHD App Yes Yes No No Yes Added recent support for Media Center but have not tried it. Claims to export full screen. Lite and Full Versions.
inControl App Yes No No RecordedTV No Shows Channel listings with some work and recorded tv but not music library.
Posted in Media, Technology, Windows7 | Leave a comment

Windows 7: (Liberating) My Media (Center Setup)

I have been an early fan of the Windows Media Center. Windows XP MCE 2005 was the first computer I actually bought new because I could not get my hands on a used or do a build of an MCE. (It was not really new new since I cheated and bought a cheaper HP refurbished PC). It has been a few years since I bought it and it has been getting a little long in the tooth with the bloat that happens over time. Once we had our home wired (and figuring out that I could go in the attic and do more), I started looking into options for integrating and consuming our media.

Our main consumption of entertainment till now has been via Comcast Cable and a Popcorn Hour (PCH). Popcorn Hour has been an amazing device for playing any video file I have thrown at it. It also helps that it is a really small box and the only sound is the hard disk I put inside. It connects easily to the MCE 2005 machine and loads the thousands of digital photos and songs and play them. It is very hackable since you get a linux shell. I will have to write a separate post on all the things I have on the PCH.

However, the WAF of the PCH is low and takes a lot of effort to increase. I had to continuously update the scripts and download new versions of the interface libraries (tip of the hat to YAMJ). Also, the photos and songs apps are pretty minimal. PCH is mainly a video file decoding beast.

I had a couple of old PCs I had bought on a whim for ultra-cheap that were sitting around without a hard disk in them. When Windows 7 beta showed up, I got a hard disk and installed it assuming I would replace it with Ubuntu if the performance turned out to be crappy. The machine was an Athlon 64 3200+ single core processor (Socket 939) with an ASUS A8N-E motherboard. (Note that even my ultra-cheap used purchases are also AMD boxes. I got these boxes for about $30-40 from the fire sale when Transmeta was finally shutting down and selling the tables and chairs from the office). This processor was pretty close to the MCE2005 Athlon 64 machine that was 5 years old. The graphics was integrated nVidia chipset on the A8N-E mobo.

I was pleasantly surprised at how smoothly Windows 7 ran on this machine and how stable the OS was on such an old board. The food on my table comes from selling to people who need the Quad-cores and Thubans but most of our home needs seem to be fine with old single core machines. Just so I could use the HDMI out to connect to a projector, I bought an ATI 3450 card with HDMI out for $15 off craigslist. I had to splurge for a Hauppauge 2250 because Tuner cards are notorious for problems and I wanted to stick to a battle-tested card.
I do get a lot of channels in ClearQAM from Comcast so I can record HD without the cable box.

I will add more details about individual pieces in the future. This is what I have in my W7MC setup:

Hardware

  • ASUS Whitebox A8N-E with Athlon 64 3200+
  • ATI 3450 Video Card with HDMI/DVI/VGA Out
  • Onboard sound with SPDIF and Optical Out on the mobo!
  • Western Digital WD10EADS 1TB Caviar Green
  • Hauppauge 2250 Dual Hybrid Tuner ATSC/QAM
  • Logitech 890 Remote with RF Extender (so W7MC can be in the closet)
  • 30ft HDMI cable from monoprice to an Infocus Projector

Software

  • Windows 7 of course
  • Windows 7 Update with Netflix integration
  • Silverlight and Flash
  • Microsoft Security Essentials – free Anti Virus software
  • ATI Catalyst Drivers
  • Windows Home Server (WHS) Connector
  • Auto Login User – so you do not have to get a keyboard to login when you restart for whatever reason
  • Terminal Services patch to allow another user to login while media center is still running with a different user
  • Registry Tweaks – debounce and DVD Gallery tweaks
  • Media Browser – plugin for media center (and added MediaInfo)
  • tubeCore – it was on sale for $1.99 so could not resist trying
  • PlayOn – for my Hulu everywhere
  • NControl – for remote control using iPhone
  • Amazon Unbox – added this when the NASA When We Left Earth were a free download
Posted in Media, Technology, Windows7 | Tagged | Leave a comment