20070629

Fail-Safe X.org Coming to Next Ubuntu Release

Basically, X.org (the typical graphical display portion of most Linux distributions) will have a fail-safe configuration and better graphical configuration options in its 7.3 release. The new Ubuntu release should have this included also.

Here's a link from ArsGeek

20070625

Libertarian Case for Free Software

Typically Free / Open Source Software gets associated with being communist like in nature. A prominent Libertarian columnist states otherwise, that FOSS demonostrates many Libertarian principles. Very interesting.

Here's the article, courtesy of www.theserverside.com

20070623

Knocked Up gets a little knocked down for not considering alternatives.

And by alternatives I mean the *gasp* "A" word - abortion.

Here's the article.

The article is completely out of scope. Knocked Up is a comedy - and apparently a very good one. Abortion is about the least funny thing you can bring up in conversation, let alone a movie. In order for this movie to meet its goal of making people laugh, no one in their right mind would include nor want abortion as a theme in this movie. If a statement needs to be made about women's choices in unwanted pregnancies, looking for a comedy film to do it is completely misguided and criticizing it for such is just being opportunistic.

20070620

Want an alternative to fuel? It's not coming without even higher energy prices.

Finally, I found someone in the mainstream media who shares my opinion on this. That is of course if you consider NPR mainstream media.

http://marketplace.publicradio.org/shows/2007/06/20/PM200706206.html?refid=0

Blood Diamond Made My Eyes Bleed

so bad… what kind of movie shows you kids massacring villages with guns and doesn’t even make you feel emotional about it?

Here is Blood Diamond in a nutshell:

Leo DiCaprio is some diamond smuggler from Zimbabwe who is in Sierra Lione trying to run a deal. His accent is convincing (I assume it is anyway since I’ve never met a Zimbabwe native), but his character is not. He gets busted, runs into a character played by Djimon Hounsou in jail during a government raid of a RUF diamond camp, in which he was placed after being captured and separated from his family. While there, Djimon discovered some huge diamond and hid and Leo finds out about it and wants to retrieve it to pay off debt and make out like a rich bandit. Somehow he convinces Djimon’s character that he can help find his family in exchange for the diamond with the help of a character played by Jennifer Connelly, who is a reporter and apparently has some sort of sexual and compassionate connection to Leo’s character – although that was unconvincingly acted out also. This is very disappointing, as I was on such a hot streak with Jennifer Connelly flicks lately like Dark City and A Beautiful Mind.

After TONS of moments involving Hollywood’esque blow ‘em up scenes in which the characters narrowly escape by their chinny-chin-chins (and part of me wanted Leo’s character to get hit since he is the most unlikeable protagonist I’ve seen in the past two years), Leo and Djimon a) find the diamond b) find Djimon’s family c) rescue Djimon’s son after the two had a confrontation one could have predicted 2 hours before it happened in the film. As a final resolution, Jennifer Connelly's character, again in an unconvincing sequence of events, reveals to the public a scandal of the diamond company responsible for encouraging diamond smuggling.

Here are the problems with this movie: it has bad characters and/or acting, tries to be a (poor) adventure movie in which the conflict is centered on unlikeable or barely likable characters instead of focusing on a real problem going on around them, is horribly predictable, and is totally a Hollywood production. For a movie to close the credits telling of the strife of civil war and children soldiers in Africa, it really should have been telling a story about that instead of following around a greedy prick. And to top it all off, the movie was 2 hours and 20 minutes!

My advice - don’t waste your time. If you want to see a movie that documents the strife in Africa and presents a cogent story alongside it, go watch The Last King of Scotland (even though it is set a bit in the past).

This also marks the first time that MovieLens has really disappointed me. It predicted Blood Diamond at 4.5 stars out of 5. I give it 2 out of 5 stars.

20070617

Recommending the Amateurs

A newspaper columnist from the San Jose Mercury News pointed out something so obvious to me that I had not been able to put my finger (and mind) on it before. Here's the original article .
Finding great writing in the blogosphere or great music on MySpace isn't an impossibility - it's an engineering problem. Imagine a system that filters content based on trusted friends or people with tastes similar to yours, or finds it by scanning your favorite music site or blog. It's a complex technical challenge, with companies from Microsoft to Amazon struggling to crack the code. But Keen's idea that the only way to hear great music is to buy whatever the four mega-labels are selling at $17.99 per CD is absurd.
This is probably the biggest opportunity in the new Web 2.0 online world - a world that is centered around communities and user driven content. Intelligent filtering is required so that among the vast see of user submitted content, the best of the best may be brought out. But the catch here is that I don't believe you can leave it up to the things that are most popular. For instance, it seems every time I turn around, some section of digg has a story about the Lolcats on one of its main pages (main page, technology etc.). While it seems this internet cultural phenomenon is popular, it doesn't do me any good and I'd love to see this stuff removed from the digg news I read. This is where personalization of content comes in. Reddit.com is trying to perform this very thing - but personalization is required in all domains, and not just popular websites. It is needed for Youtube, for the Blogosphere, for podcasts... for any content really that the everyday user of the internet is producing - the amateurs being referred to in the article. The garbage needs to be weeded out from the quality stuff, but for the internet to be truly useful, the 1% that is quality can't be decided by popularity alone nor by a central authority - rather things must be made available based on the individualized tastes of the person consuming all of this content.

20070616

I'm Here

Me, my laptop from which I am typing this post, and two bags of luggage made the full trip across the entire Estados Unidos via three Delta airline flights from Jacksonville, North Carolina to San Jose, California.

First impressions? I'm really not adept at giving those, but I will attempt it anyway. The first thing I observed was how spread out the city was. It reminded me a bit of Jacksonville, FL. A decent sized center city but not overwhelming and very spread out, but still dense in the sense that the residential areas are tightly organized. The downtown skyline was surprisingly short... and I've come to find out this is so because the airport is so close to downtown building height restrictions have been placed on the what would be skyscrapers. This still doesn't stop the Adobe building from being simply massive, as it covers what looks to be 3-4 acres of land and still rises a good 30 stories in the air.

After checking into the hotel I took a stroll around town on my two attached wheels (read: feet). The first thing I saw that just made me think "wow, this is cool" was a collection of 50 or so skateboarders in a parking lot, all just having what looked to be a really fun time. I then proceeded to head toward the Willow Glen area to check out a potential residence (as of the time of this writing, I still haven't moved into a place). To get there, I, for the first time, took public transportation by myself. It wasn't bad... a little bit of a wait but I can live with it. Willow Glen was a nice little area - it felt like a small older suburb than part of a large city, containing lots of small stores and restaurants. I will most likely be moving into a place there this weekend.

All in all, I like it so far, based on the less than 24 hours I've spent here. I'll give more updates as I've experienced more.

20070611

That's What They Get For Speculating.

So, CNBC has a contest that pays out 1 million dollars to the stock picker who picks the best stocks over some short period of time. I don't even pay attention to it because a) I don't have the time b) it's a practice in pure speculation and recklessness. And as it turns out, those who who did waste their time in gambling on what a bunch of people in Wall Street thinks a company is worth have been gamed. It turns out there is a bug in CNBC's contest that is allowing contestants to change their stock picks after trading hours retroactively, thus giving a few knowing contestants a huge advantage.

In the meantime, I'm giggling because I spend 3 minutes a month feeding my index fund which has been gaining a fair 7% increase since I started... allowing me to focus on real problems instead of gambling on some speculation game.

20070610

Kibbles and BITS

Admittedly, I'm not much of a hardcore programmer, I've never done any real work with bit manipulation. So this morning I figured I'd learn by actually trying out those operators in Java that operate on bits... you know, all of the operators they will never use unless you are doing some real low level hackery. It turns out, that it bit manipulation isn't really that hard. Here's a quick main method that demonstrates, briefly how all of those bit manipulations work.

Edit: I just realized that using the <pre> tag causes the text to disappear into the void in my Blogger template. Here's a quick link to a pastebin where I placed the code:


public class Bits
{
public static void main(String[] args)
{
/* ~ switches all bits to their opposite value (all 0's become 1's and
* vice versa. 5, which is 00000101, is switched to 11111010, which is
* -128 + 122 = -6 (the first bit represents the sign via two's complement.)
*/
int x = 5;
x = ~x;
System.out.println(x); // -6



/*
* -, or Unary minus operator to switch the sign of a primitive.
* -5 is 11111010 in binary, but when the unary minus operator is
* applied, it is changed to 00000101, which is a positive 5.
* This works as expected on double values also.
*/
x = -5;
x = -x;
System.out.println(x); //5

double y = -5;
y = -y;
System.out.println(y); //5.0



/* << x =" 5;" x =" (x" x =" 127;" x =" x">> is a signed right bit shift.
* 5 is 00000101. A shift to the right equals 00000010, which is 2. THe
* last 1 bit pushed off to the right is lost.
*
* -128, or pushed one to the right is -64, ALL bits are pushed to the
* right, but the sign is retained.
*/
x = 5;
x = x >> 1;
System.out.println(x); //2

x = -128; //111111111 11111111 11111111 00000000
x = x >> 1;
System.out.println(x); //111111111 11111111 11111111 10000000



/*
* >>> right unsigned shift bit. Moves all bits, regardless of whether
* the bit is for the sign, to the right.
*/
x = 5; //00000101
x = x >>> 1;
System.out.println(x); //2

int z = -128; //111111111 11111111 11111111 00000000
z = z >>> 24;
System.out.println(z); //00000000 00000000 00000000 11111111



/*
* Bitwise and, &. Keeps only the 1's present in both sets of bytes
*/
int a = 1; //00000001
int b = 3; //00000011
int c = a & b;
System.out.println(c); //2 or 00000010




/*
* Bitwise exclusive or, ^. Any bits that differe a converted to 1's.
* All the rest are 0's
*/
c = (byte) a ^ (byte) b;
System.out.println(c); //1 or 00000001




/*
* Bitwise inclusive or, |. Any bits that have a 1 between the two
* values are converted to 1's. The rest are 0's.
*/
c = (byte) a | (byte) b;
System.out.println(c); //3 or 00000011
}
}

Sunday Morning Blogging

Welp, I've got 5 more days until I'm flying west to California. And that couldn't come sooner really. For me this move is akin to staying in a foreign country for a while. As the date has moved closer, it has really settled in that I am really going to incur a huge change of lifestyle. Yeah, I previously knew this to be the case, but there is something about having an event just about to happen to really have a mental and introspective effect on you.

But I welcome it. After living and getting a bit tired of Northeast Charlotte and living in the extreme rural area of North Carolina with my family, I believe a chance in scenery will be excellent. I'm a bit tired of failing to understand someone because of their horrendous southern accent, or not being around a culture of technically inclined people. I doubt I'll have that problem out there (although I'm sure my share of problems will come).

So come Wednesday or Thursday I'll pack up two large suitcases and my laptop bag and then haul off to Jacksonville, NC to leave from the (very small) airport and make me way across the country for, at least, three months of a new life.

20070607

Device Warns You If You're Boring

Check it out.

Simply put, it's a device being developed at MIT, geared primarily towards folks with autism who have a difficult time interpreting non-verbal signals and social interactions, that will vibrate a small computer when it detects that the subject being observed is uninterested or bored. It does so through a small high definition camera that can be attached to, for instance, glasses that continuously reads the facial expressions of who is being looked at. Using a series of machine learning techniques, the device can be trained to determine what facial expressions or series of facial expressions represent certain moods and can clue the person with autism in to what the next person is communicating with their facial expressions.

Neat Stuff.

20070606

Before we let in the world's best and brightest...

Here's an interesting perspective on importing high-tech immigrants delivered by former Labor Secretary, Robert Reich: read it here.

I'll agree with Reich on the fact that we would be better off, in the long-term, by focusing on improving the math and technology education in this country to solve our labor shortage in highly technical engineering jobs. I however disagree with his assertion that we do so by increasing the salaries for those jobs. While doing so would benefit my personal cause, if I step back and think holistically, I believe it to be a bad idea. By just simply increasing wages, what you encourage is tons of people swamping the field who may not ultimately love the technology they work with - only studying the profession only to cash in on the monetary rewards. Just think back to the late 90's when the kids were storming CS programs to cash on in the IT boom. The result was a plethora of students hitting the marketplace for IT jobs who hated working in IT but were after those late '90's wages. Of course, the wages didn't last and neither did the boom in CS enrollments. The same would be true now if the only solution we can conjure up is increasing salaries.

Instead, if we really want to encourage our youth to follow careers in engineering and computing fields, we really should be focusing on rewarding and fostering success in math even at the earliest ages. Instead of subjecting the bright kids to the mundane, rote practice of performing simple math that grocery store clerks might use day to day until hitting basic algebra in the 7th or 8th, how about providing special school programs for exceptional students and those students who show a keen interest in math. Foster their interest and success in math - don't bog it down in the mundane until they lose interest in, like 99.5% of all students do in the current public education system.

Of course, this would actually mean funding public education. I guess we would actually have to work on handling that part of it first, huh?

20070605

Python to the Rescue

After dinner and finishing some up some edits to the abstract of my thesis last night, I gave my sister a quick call just to say hello. It turns out that she was finally just getting around to finishing some statistics homework that was due at midnight. She asked if I knew how to perform standard deviation calculations and if I'd give her some help on her homework. I gladly volunteered, knowing that I could quickly use either some of Java library for the Netflix project or whip up something in Python really quick to calculate standard deviation calculations for her.

Of course, my sister knew how to calculate standard deviations. But when I arrived at my sister's house, I discovered she was attempting to calculate standard deviations and also construct box and whisker plots all by hand (which means tons of meaningless work on paper). Since her stats book was using a regular standard deviation formula and my Java library was using population standard deviation I quickly whipped up a function in Python that would perform standard deviation the way she needed it. While I was at it, anytime we needed to create box and whisker plots, I shoved an unordered set of decimal numbers into a Python list, ran sort() on the list, and we could calculate the 5 number summary in no-time... much better than her sorting sets of 20 numbers by hand.

Of course, it turned out that my sister had roughly 25 of these questions for me to help with and so I was helping her with homework until roughly 11:30 at night. I now type this a bit groggy eyed since 11:30 is a wee bit past my bedtime and I'm feeling some small effects from it this morning (especially since my parents Shih-Tzu's felt like trying to wake me up at 6 AM).

But nonetheless, chalk up another success story for Python, the best tool I've found for getting quick and dirty work accomplished.

20070602

I ditched the White Room

Welp... I suppose I should rename the blog since I no longer live in a white room.

In fact, I've lowered myself to depths of being a 25 year old male living with his parents... but only temporarily. But this of course means that I no longer live in the white bedroom I was renting from a two story home in Charlotte. Instead I am 4 hours away from the queen city, spending a couple of weeks with parents before I begin my adventure to California. But the bedroom here is some beige color, and I really don't feel like changing the name to The Beige Room. Some new name is in order. If any of my 3 readers have any ideas, shoot 'em to me before I come up with something (un)clever.

I also realize I haven't really said too much about California. I'm taking a three month internship with Pricewaterhouse Coopers in San Jose working on some special internal IT projects. That's a quite a change from my previous life of residing in North Carolina and nowhere else. But I look forward to the adventure. It's the valley that I'm moving to and I'm quite psyched about that. It'll be intimidating in that it's pretty much the tech Mecca of the United States (and maybe the world?), but that's also part of the fun of it too. I'll talk about my experiences there a bit more once I'm out there.

In the meantime I'm visiting with my parents for a couple of weeks back in eastern North Carolina where I'll be taking the time to hack on my thesis and hang out with my folks before I distance myself from them by some 2,900 or so miles. Since they have already informed me they won't be doing any traveling to California, I better take this chance to enjoy time with them since it may be a long while before I see them again.