<CharlieDigital/> Programming, Politics, and uhh…pineapples


The Allure of the WWW

Posted by Charles Chen

Not everyone can appreciate the simple elegance of the ethereal structure that we know as the Internet.  It is not the average person that will sit and contemplate the transmission of data from one node to another, thousands of miles away in mere milliseconds, and be impressed and appreciative of the amazing times we live in (I mean, just 20 years ago, you had to actually walk into a store to buy porn 🙂 (*aherm*...not that I know anything about that)).

Most people are just happy that they can log on in the morning and get their mail in Outlook or check the weather on their local news sites, never taking a moment to bask in the glory of the immense amount of data that flows through copper, fiberglass, and the very air that we breath (isn't it weird to think that right at this moment, several megabits of data are probably bouncing off of me (or worse, passing through me (and you!))), each picosecond.

But then again, not everyone is a software engineer. 

Via Gizmodo.


Could It Be?

Posted by Charles Chen

After some drama in my life last week, I'm glad to report that things are kinda settled down, although I'm still not right in my heart.

But in any case, back to your regularly scheduled programming (or not).

Could it be? Someone in charge is finally starting to get it:

"So we understand piracy now as a business model," said Sweeney in a recent analyst call. "It exists to serve a need in the marketplace specifically for consumers who want TV content on demand and it competes for consumers the same way we do, through high-quality, price and availability and we don't like the model. But we realize it's effective enough to make piracy a key competitor going forward. And we've created a strategy to address this threat with attractive, easy to use ways to for viewers to get the content they want from us legally; in other words, keeping honest people honest."

When you start thinking this way, the goal becomes offering a more compelling product than file-swapping networks can provide, rather that attempting (for instance) to sue the users who like your content. For ABC, this has meant launching their own streaming media player and providing shows like Lost and Desperate Housewives online only minutes after they air.


It's taken the media execs this long to realize that the majority of people do not want to engage in "illegal" behavior? The majority of the people do it because it's convenient and the media is delivered in a format that the masses demand. iTunes proved that people are willing to pay a fair price for content.

Television has been dead to me and most of my friends forever now with only live programming like sports worth bothering plopping down on the sofa for. Everything else? I'd rather just watch the good parts or watch it when I want to watch it. The concept of the timeslot is irrelevant in the 24/7 world of the Internet. Instead, the content itself becomes that much more important as

One thing that I've been contemplating lately is this issue of fan-subs. There is a huge sub-culture of anime/manga fans that work dilligently to translate the latest Japanese anime and manga because there is a huge demand for the product. It's amazing to think that most of these translators and video editors are working without payment to translate and distribute the content just hours after it airs in Japan. 

It's not just Japanese content, however, as Wired touched on this issue a few months back with regards to the American comic book powerhouses Marvel and DC:

within 24 hours of going on sale at the local Android's Dungeon, every new comic is available on BitTorrent, scanned beautifully for your downloading pleasure. Sound familiar? Just like with music, movies, and games, when content companies don't give fans what they want in the format they want it, fans make it available themselves.

Similarly, there is a huge opportunity lost here by networks not picking up the rights to these Japanese anime/manga series and simply paying a relatively small fee to the fan-subbers for their service and adding short commercials or hosting the videos on the company's servers. The point is, with the near unlimited "bandwidth" (used here, not really in terms of bits and bytes) of the Internet, there's no reason not to try to serialize and distribute as much content as possible (compare this to television where your "bandwidth" is limited by the fact that there are only 24 hours in a day, 7 days a week, and only so many channels of programming).

The current model for distribution of tele-media is still very inefficient as shown by the success of YouTube. People want to see the good stuff when they want to where they want to. No one wants to schedule their lives around arbitrary schedules. I'm happy to see that the success of iTunes finally has others in the industry turned around on this issue of online video distribution.

Filed under: Technology No Comments

Try OpenDNS

Posted by Charles Chen

So I came across OpenDNS somehow last night and read about the service that they provide.  From my days as a CS major, I was familiar with the high level workings of the DNS infrastructure and OpenDNS's explanation, at least in theory, made sense.  The gist of it is that somewhere out there, there exists a network of DNS (Domain Name Servers) translating the alphanumeric URL that you type into your browser address bar into numeric IP addresses.  This can be a slow process if the initial DNS does not contain a mapping for the URL that you entered as it means that the DNS will have to consult another DNS (and so on) until it is retrieved.

Of course, I was a bit skeptical of just how much performance there was to gain, but I have to say that it is noticeably zippier browsing today.

So I would give it a shot and see if it makes any difference.

Filed under: Technology 1 Comment

Talk About Ridiculous…

Posted by Charles Chen

So it looks like the EU is trying to pick Microsoft's pocket again.  The EU is up in fits about Microsoft's inclusion of security features such as Windows Firewall and warns Microsoft that inclusion of such features would bring further fines against it in the future.

Regarding the new security features in Vista, Jonathon Todd, an EU spokesman said:

"Less diversity and innovation would ultimately harm consumers through
reduced choice and higher security risks."

What?  Wait, so having an OS that's, by default, not secured at all, somehow helps consumers?  It's entirely contradictory and the EU has lost all credibility with this move.  The inclusion of default security measures is a gesture to help improve the user experience and make sure that users aren't exposed.  If such features were not included, users would likely not even be aware of the need for security related software until it's too late.

It's not as if Microsoft is blocking others from installing security related software on Vista, it's simply providing some simple functionality out of the box so that there is always protection available to the consumer, whether he or she is aware of the need for such software.

And I'm sure if Microsoft didn't include default security software, the EU would have a different stance and claim Microsoft wasn't protecting consumers by providing a stop-gap solution until third party security solutions were installed.

What a debacle...

Filed under: Rants, Technology No Comments

Innovation, Sony Style

Posted by Charles Chen

Last week, I touched upon how Microsoft is innovating with the XBOX360 by opening up the gaming console to small time developers, regular-Joe programmers, and students.

And of course, last year, I was just blown away by the initial peek at Nintendo's new controller and how it literally changes the way we interact with games and adds another level of immersion.

So what about Sony and their PS3 then?

It's hard to say.  For the most part, I don't think that I've really been blown away by anything that has been touted for the PS3.  For one thing, I tend to view it simply as a Trojan Horse for Blu-Ray technology, an inferior technology so far as audio/video quality is concerned compared to Toshiba's HD-DVD, so that Sony can cash in on it and force it down our throats. 

Is Blu-Ray innovative?  I don't think so; it's more of a natural evolution of the DVD format and basically gives us a bigger storage medium.  Aside from that, there's not much that excites about the PS3 from a gaming perspective at all.  Sure, it'll pump out some slick graphics, but is it innovating in any way?  Sony copied Nintendo's montion sensing controller capabilities (half-assedly), so that doesn't count.

To me, the PS3 has been perhaps the least interesting of all the next generation consoles and the one that offered the least amount of innovation.  But today, some news came out that showed some promise: the PS3 will run Folding@Home.  It's not that Microsoft's XBOX360 can't do this as well, but for the first time, someone will be copying Sony this generation.  It seems like a match made in heaven for these compuationally expensive distributed computing projects as both XBOX360 and PS3 have CPUs capable of highly parallel computing (the PS3 features 7 SPEs while the XBOX360 features three, symmetric, dual core processors).

Interesting news to me at least 🙂

On a related gaming note, check out this smile inducing clip (via Kotaku) :-D.

Filed under: Gaming, Technology No Comments

Asus W7J Pictorial

Posted by Charles Chen

So I got an Asus W7J via UPS today (joy!) for my sister-in-law, who's attending college as a freshman this upcoming semster.  I had a very good impression of the W5F when I purchased it for my wife in May, so I decided to stick to Asus laptops (I did momentarily, in a haze of insanity, contemplate a Dell as the W7J availability was scarce).

At the time of purchase, the W7J was selling for far less than the W5F (difference of ~$250.00), which made it an awesome deal considering that the W5F is only equipped with integrated video while the W7J has a dedicated video card.  However, as I checked Geared2Play's website, I noticed that the W5F is now retailing for less (@ $1329.00) than the W7J (@$1449.00).  D'oh! 

Unfortunately, the W7J is only available in the US in black.  I guess this is to differentiate it from the W5F a bit?  As with the W5F, you can tell immediately as you pick up the laptop that the W7J is a high quality component; the chasis is very sturdy.  You'll see in the pics just how similar these two notebooks are, at least cosmetically.

Still in the box

Profile shot; not the thinnest I've seen, but very compact considering what's in the package

Touchpad is made of the same material that the handrest is. It's not a very "slick" material, so there is some added resistence when using it

Screen is better than I expected! From what I read, the new "V-Cut" technology was supposed to be a bust, but the screen is extremely bright with good contrast and very good viewing angles

From the other side...

Vertical viewing angle...

Straight on...

Surprisingly, the size is extremely close to that of the W5F; I expected it to be larger (the angle distorts the size in this photo)

About the same height...

Another angle...

Can't see the W7J under the W5F at all!

Another size comparison shot, this time the W5F in front

The W5F and W7J screens, side by side. Both laptops are on AC power and on the second highest brightness setting. My opinion is that the W7J screen is better than the W5F in terms of contrast and brightness. The W5F's screen, compared to the W7J's, looks ever so slightly washed out. In addition, the larger diemensions of the W7J's screen makes things much more legible and reduces eye strain.

The W7J seems to have better vertical viewing angle...one of the best I've seen on a laptop.

Two very nice laptops from Asus

Back to back...

The W7J is indeed a nice laptop.  Knowing that the W5F is cheaper than the W7J now, would I still have picked the W7J?  Well, not for my sister-in-law, who really has no need for the additional processing and graphics capabilities (1.66 Ghz vs. 1.83 Ghz, W5F and W7J respectively).  While $1449.00 is a damn good price for this laptop, it's ultimately more than I would have liked to spend since she'll probably just end up using the office applications and browsing the web.  For any business users and developers, the W7J is a steal.  As for myself, even I'm getting itchy to pull the trigger and forego Merom (so tempting).

As a side note, I find it weird that many developers prefer monster 17" behemoth laptops.  I myself have a 15-incher currently and I find even that to be intolerably cumbersome when I have to travel.  As such, I've made up my mind that I'll likely get a smaller 12"-13.3" laptop the next time I upgrade.  Since I hardly ever use the laptop keyboard or screen, as I am always plugged into a proper LCD screen and I use a wireless USB keyboard, I don't see the need to get a laptop with a big screen.  If I'm travelling, I'm more than willing to give up the screen real estate in exchange for a laptop that's easier to handle. 

But that's just me 🙂

If you're interested in a more in depth review, you can check out NotbookReview.com's full length review and also the owner's lounge thread at NotebookReview.com.

Filed under: Technology 2 Comments

Innovation, Microsoft Style

Posted by Charles Chen

Compared to all the love that Nintendo has been getting for innovating in terms of how we interact with our games, both Microsoft and Sony have been accused of not innovating enough to provide for a compelling reason to purchase either platform simply to get prettier versions of yesteryear's games.

Certainly, Live is a huge innovation on Microsoft's part, but an old one that has existed since the original XBox (yes, it wansn't the first online console, but it was the best implementation (and still is)).  But it still seemed like it fell short a bit by not allowing for far greater possibilities, namely, user generated content (community created games).  This was the first thing that I thought about when I read about XNA before the XBox 360 launched.

Well it seems like Microsoft is going a step further by releasing a free version of XNA (much like the Express versions of SQL Server and Visual Studio):

Talking on the eve of its Gamefest event in Seattle, Microsoft has
revealed XNA Game Studio Express, a new product which will allow indie
developers and students to develop simultaneously on Xbox 360 and PC,
and share their games to others in a new Xbox 360 'Creators Club'.

The details of the new tech are as follows: XNA Game Studio Express
will be available for free to anyone with a Windows XP-based PC, and
will provide them with what's described as "Microsoft's next-generation
platform for game development." In addition, by joining a "creators
club" for an annual subscription fee of $99, users will be able to
build, test and share their games on Xbox 360, as well as access a
wealth of materials to help speed the game development progress.

Nice!  This is quite awesome as it opens up the home console to anyone with a few dollars and the ability to write code.  In itself, this is quite an innovative concept in the cosole gaming arena (it's been done on the web in the form of Flash games for years now), but it will surely also lead to innovative games and gameplay concepts as it will allow quirky, oddball ideas to flourish which would otherwise flounder in today's mass market games development.

Certainly, my feeling is that the ratio of good games to bad will be very low, but even if 1 in 10 is a keeper, I think it'll be an amazing success and offer a much greater variety of gameplay aside from FPS style games which XBox 360 is known for ("Bald Space Marine" syndrome) at an affordable price which will likely draw in a larger audience.

It will be interesting to see how Microsoft handles the various issues and questions that arise from this and how they build the marketplace to sell these user created games (or are they free?).  Will users be charged for the distribution of the games (to help pay for bandwidth and hosting)?

Regardless of the details, it's a ground breaking innovation in the area of console gaming and hopefully, it'll bring into the fold a new generation of console games developers who have the freedom (not constrained by big budget funding) and desire (not forced to program shitty games to put food on the table) to create new gaming experiences.

Filed under: Technology No Comments

Pure Genious

Posted by Charles Chen

Pure Genious: http://www.realtechnews.com/posts/3155

Brilliantly simple and intuitive.

I'm a firm believer that the simplest, most obvious ideas are the ones that require the most ingenuity to come up with.


Asus W5F == Hawt!

Posted by Charles Chen

I'm not going to go into a detailed review with performance specs and what not (they're floating around the web already, no?), but just a quick take.

Purchased the notebook last week from Geared2Play (you can find details in this thread: http://forum.notebookreview.com/showthread.php?t=52014).

Price was right and service from G2P was good (wife said the man on the line (Eddie?) was friendly and knowledgeable).

Notebook was shipped Friday and I received it today in the afternoon with a great deal of anticipation.

First of all, the W5F is gorgeous in person. Incredibly sexy and attention grabbing. Coming from an S1A previosly, the W5F is an increase in weight (S1A was incredibly light, though). However, the weight is put to good use; whereas the S1A would creak under torsional stress, the W5F is solid. This is one of the most solid notebooks I've felt in a long time. No creaking; very rigid chasis.

The screen was a big surprise. The S1A really suffered in this respect as the screen was of very poor quality in terms of brightness and dot pitch. The W5F screen is beautiful. Incredibly vivid and sharp. The pictures came out a bit grainy due to the high ISO, but trust me, the screen is incredibly sharp and the contrast is excellent. I have to admit that the widescreen format makes it seem like the screen real estate is much larger than it actually is.

Haven't tried out many of the features yet as it will be wiped and OS reinstalled (wife needs to use it at work (elementary school) on a domain). The bluetooth worked out of the box with a bit of setup (hint: to get the mouse to connect, press and hold the reset button at the bottom). The mouse was a great addition, Bluetooth no less. Unlike the S1A, W5F does not ship with a carrying case. Not a big deal as we have tons at home

Setting up the network was a trial. It was pretty confusing (see the screenshots below) as I could get a signal and an IP from the router, but I couldn't access the network (no ping response from the router even). I had to fiddle around and reboot the machine to get it to work. The Intel software didn't help much (see screen).

(Some shots are grainy from high ISO)

Waited for UPS all day for this!

A box inside the box...

Yet another box....

Finally, the goods!

Size comparison to V3 Razr.

Not as slim as the S1A, but S1A had a modular CD-R/W drive.

Widescreen goodness.

Orange light is badass.

Keyboard has excellent texture and feedback. The touchpad texture is nice too (although it'll probably wear off after a while I assume).

Screen is very nice; much better than anticipated.

Very nice "soft" LED lights. The touchpad is actually textured (those little gray dots are bumps).

Incredibly vivid; the green shows the contrast much better.

Viewing angle is not bad! Much better than S1A and even better than my Chembook (Compal).

From the other side...

Vertical viewing angle suffers a bit, but acceptable.

Uh....what "Wireless On" option???

Widescreen looks good.

Another shot...

Open from the side.

All in all? Better than expected. I had high hopes (rightfully so for a $1700 notebook), but this notebook (so far) has exceeded them. Beautiful looks, snappy performance (primarily office usage and web browsing), decent weight, and great build quality.

Filed under: Awesome, Technology 2 Comments

Enterprise Library 2.0 Logging Quirks

Posted by Charles Chen

So I've been working with Enterprise Library 2.0 (EL2) Logging Application Block recently and I've come across some quirks that are puzzling me.

First, I've been using log4net for most of my logging in the past.  Recently, I've taken a look at NLog due to the fact that log4net is currently under "incubation" and has been inactive for a loooong time.  The developers are still active as shown by the activity in the the mailing lists, but otherwise, the codebase has been kinda sitting there for quite some time (until recently) with no date on when it'll exit incubation.

Anyways, after checking out some performance numbers on EL2 vs. log4net, I was sold.  Easy configuration via the configuration GUI, easy to understand, tons of documentation, and it's first party Microsoft (easy to get team members and managers to buy into it).

So here I am working with it today and setting up my test code to automatically regenerate the database before each run and my application code crashes when the logging fails (exception).  I had mis-typed the path for one of my SQL files and the database wasn't created for the logging block, but still, I don't think that the right thing for EL2 to do is to allow that logging error to bubble up to the application code.  With log4net, if the connection to the log database is broken, the AdoNetAppender will simply fail but not cause the rest of the application code to fail. [Update: can't reproduce it, but I know this is what cause the error since as soon as the database was there, it was happy, but it's running fine now even without a database. Ugh, totally puzzling...]

Weird design choice.  I guess it's useful to know that your logging block is failing.  But what the heck, isn't that why there are multiple listeners so that if one fails, you have a fallback (i.e. log all critical errors to database, event log, and flat file)?

Secondly, as I'm looking at the database scripts for creating the procedures and database tables for logging included with the EL2 source code, I'm puzzled by the design choice.

Take a look at the code for adding a category:

CREATE PROCEDURE [dbo].[AddCategory]
-- Add the parameters for the function here
@CategoryName nvarchar(64),
    @LogID INT
    SELECT @CatID = CategoryID FROM Category
    WHERE CategoryName = @CategoryName
        INSERT INTO Category (CategoryName) VALUES(@CategoryName)
        SELECT @CatID = @@IDENTITY
    EXEC InsertCategoryLog @CatID, @LogID 

First of all, why are the categories stored in a seperate table?  My guess is that the designers wanted to save some space in the log entry row by taking out the category from the log entry???  I can't seem to come up with another good reason for it since it's not like the categories in the category table are associated with an application identifier (and they must all be unique category names).  Profiler tells me that it requires at least 14 reads to write one entry into the log.

Not only that, the code to execute adding the category and adding the log entry are two seperate calls from the client since the WriteLog procedure doesn't receive category information.  I'm going to go out on a limb and say that the only reason that EL2 logging is able to outperform log4net is due to .Net 2.0 related optimizations.

So I think it's back to log4net for me.  I don't know how the rest of the team will take it, but it seems to be a better choice.

Filed under: .Net, Rants, Technology 1 Comment