WinXP vs Vista: A systematic refutation

I don’t know how many of you read Courier Press, but in mid-April someone published an article about the adoption of Windows Vista, and the merits of letting Windows XP go.

Have a look through the article, then come back to this point and continue reading, as I am going to provide an analysis of this blurb.  For clarification: anywhere I make use of the second-person “you”, I am referring to the author of this article, Mr Justin Williams.

“Microsoft gave its old operating system a stay of execution after listening to feedback from consumers and industry partners.”

Wow, Microsoft is listening to its customer base?  You say this as if it was a bad thing.

“…any other major manufacturer will be forced to adopt Windows Vista as the operating system.

I assure you, it won’t hurt.”

Given the large outcry from consumers and critics alike for Windows XP to stick around, and the very fact that you used the word “forced” in your article, it seems like there is a very widespread sentiment that Vista is simply off its rocker.  Forcing consumers to adopt an upgrade when the majority opinion attests that the original is of higher quality smacks of poor business practices.  In fact, any corporation employing this practice which did not hold an untouchable majority on the market would be out of business in a flash.

I assure you, it does hurt.

“It’s frustrating to read other technology columnists and magazines recommending that consumers keep installing XP on their new machines. XP was released in October 2001.”

Non sequitur.  While the rule of thumb has certainly become that old technology = bad technology, this is overly vague and generally misleading.  Old technology is old technology, and new technology is, generally, better.  This does not make old technology bad.  Just old.  And this does not take into account the fact the operating systems are continually updated to ensure they are equipped to handle the latest technologies and threats.  Serivce Pack 3 for XP was released on April 21 of this year, three days after you wrote this article, Mr Williams.

“As a point of reference, the original iPod was released in the same month.

The first generation iPod had 5 gigabytes of storage, a black-and-white video screen and was as thick as a pack of cigarettes. Today, it’s much thinner and has 160GB of storage. Or, you can buy the more advanced iPhone.”

Not to be rude, but who cares?  I had an original iPod for a year well after the 80GB models were released, and it worked great and could play all the same songs the new iPods could.  What more do you want?

Oh right.  Movies, podcasts, more options, and a higher price tag.  Right.

“The amount of innovation between Vista and XP is no less. Vista introduced improved search and browsing support in the Windows shell, improved stability and sidebar Gadgets.”

Browsing support exists in Windows XP.  The search is usable, and there are programs that can be downloaded for free to augment it.  Improved stability?  I would need examples and empirical evidence, as every Windows Vista user I know says it crashes as often as XP did.  And sidebar gadgets could also be installed in XP by way of free third-party software.

Can’t exactly agree with you on the “innovative” part, Mr Williams.

“More important than the superficial updates, Vista is a more secure system than XP, which can help reduce malware and viruses.”

Again, there is no empirical evidence in your article to support your claims.  Critics and research points out that any improvements in security in Vista are through obscurity.  The UAC is an abomination, almost making Vista less secure by annoying users to the point of disabling the interface entirely, or simply allowing everything without further inspection, not to mention the UAC-emulation that malware can employ.

No, Vista is just as exposed as XP.  Sorry to disappoint.

“Vista is the foundation for the future of Windows-based computing. Recommending to someone purchasing a new computer, one that he plans to use for the next three to five years, to install XP is irresponsible.”

How very arrogant of you.  XP is a mature product, stable and well-supported, and will certainly continue to be so through the next few years.  Windows 7 has already been announced, slated for release in the next three years.  One can stick with proven technology until then; other than DirectX 10, Vista offers nothing that Windows XP cannot do on its own.

“One of the main arguments against Vista is its speed compared with XP. Most PCs shipping today are built with a minimum of 1GB of memory and a graphics card capable of running all the bells and whistles offered by Vista. XP will run faster on these machines, but only because it was designed for machines running on 2001 hardware. Pentium 4, anyone?”

Have you actually seen how much memory Vista idles with?  I don’t want my operating system to use up half the memory on my system when I’m in graduate school trying to model biological systems in real-time!  Furthermore, the latest versions of linux releases like Ubuntu, Fedora, and Debian, and even Unix-based operating systems like FreeBSD and OS X all run speedily on modern hardware, pretty close to the speed with which XP executes.  So what’s Vista’s excuse?

“Others argue that Vista isn’t compatible with all printers and third-party accessories purchased in the past decade. Look at it as an opportunity to upgrade your antiquated hardware with the latest offerings.”

So, yet again, you espouse shelling out more money for technology that doesn’t work quite as well over sticking with technology that does work, and for free.  It seems like giving into Microsoft’s demands is how we should approach things, based on what you’re saying.

“If you’re still using a peripheral that doesn’t connect via USB, it’s time to send it to the recycling center.”

Agreed.  And last time I checked, XP supports all USB peripherals just fine.

“For those who remember, the jump from Windows 3.1 to Windows 95 was just as substantial. We all survived then, and I promise we will get through Vista together.”

We survived, because even though Windows 95 crashed while Bill Gates was demo-ing it to the developer community (that was hilarious), it was a vast improvement over Windows 3.1.  That’s the difference.

“Vista is not without its flaws, but it’s not the worst operating system Microsoft has ever released (I’m looking at you, Windows Millennium).”

Bill Gates was interviewed this past year regarding Vista, and he was pointedly asked if Vista was the worst operating system Microsoft has ever released.  He responded, and I quote, “Ask me when the next version comes out.”

“If you are purchasing a new machine, stop fretting over Vista and start embracing it.”

Only one question: how much did Microsoft pay you to write this?

I am not saying that Vista is a wortheless operating system with no merits whatsoever.  I am saying two things, Mr Williams: 1) Don’t dispose of something that works simply because a newer version is released.  Newer != Better. 2) For the love of all that is good still left in this world, provide some empirical evidence to support your claims!  Your “evidence” appears to be nothing more than blind opinions, almost as though it was written someone in Microsoft’s advertising department.

Pizza: The CS major’s staple

My capstone project team and I are headed out to Felini’s to indulge our appetites in some darn good pizza.

Yeah, it’s been a busy few weeks.  Next week is not-so-Dead Week, so the work is guaranteed to get worse.

Oh, and my sister created a blog.  You should go read it.

A storm approaches

Storms, figurative and literal.  Atlanta has been under the gun (or, more accurately, the deluge) ever since the 4th, and that seems to be continuing tonight with ominous clouds and crackling thunder visible on the horizon as the sun makes its escape.  We certainly need the rain; Lake Lanier is still 15+ feet under its normal levels.

Meanwhile, I am in the middle of midterm evaluations for the Summer of Code, in addition to preparing for a senior design presentation on Wednesday.  My mission for GSoC remains to polish up this developmental Joomla! component to allow the framework to communicate with Apache’s Shindig.  For senior design, I am charged with implementing a user permissions hierarchy for our appointment management system.

Furthermore, I depart bright and early Thursday morning for Pittsburgh, where I will spend the remainder of the weekend hunting for an abode for the next year.

Tonight may be the first time in quite awhile I celebrate that oldest and noblest of undergraduate traditions: the All-Nighter (I love how Wikipedia likens this to torture).

Me and the storms, spending the evening (and early morning) together.  How feng shui.  How positively delightful.

And on that note, I have this to say about that.

Downtime

Sorry for the downtime on this blog, folks.  I’ve had a lot on my plate lately, and with a trip to Pittsburgh coming up next weekend to hunt for apartments for my impending semester of graduate school, the work isn’t looking like it’ll ease up anytime soon.  I do have several interesting thoughts to nag you all with; unfortunately, I don’t seem to have the time to elaborate just now.

Of course, if no one’s reading this, then…PORKCHOP SANDWICHES!

Search terms…for the pwn

Zinggg. =/

37 days, but who’s counting?

37 days until graduation.  Whodathunkit.

Yeah, it’s been almost two weeks since my last update.  I have four blogs to keep current; while each blog is nicely niched, it’s tough to keep finding original material to blog about that simultaneously appeals to the audience. :P

For instance: lately I’ve been struggling with the development environment on my laptop.  I needed to make use of PHP’s mcrypt library, but unfortunately the stock OS X install does not count that module in its configuration.  I’ve successfully made use of MAMP, but this has created another problem - while MAMP provides the mcrypt library in its install, it does not have XMLRPC enabled (another compile-time option).  Thus I have to switch back and forth between the two Apache/PHP bundles in order to have my development environment do everything I want it to do.

Furthermore, Eclipse has been acting up.  Buckminster (whatever that thing is) keeps griping about a bad update path in the update manager.  I’ve checked on this by way of its website, and the URL that the Eclipse update manager keeps hitting is indeed incorrect; unfortunately, there doesn’t seem to be any way to rectify it with the correct URL.  Plus, my PHP plugin isn’t correctly displaying outlines of the code I write; the outline remains stubbornly blank when it should be showing function and class attribute names.

I love computer science.  But there sure are times when I wish it would shuddup and do as I say.

(by the way, if any gentle reader has suggestions regarding the aforementioned issues, please do not hesitate to post them)

In all my spare time (all two minutes of it every day), I have been trying to rally all fifteen of my future CMU Computational Biology classmates in finding apartments in Pittsburgh relatively close to each other.  I have garnered a few responses so far.  Having everyone in close proximity will certainly make those late nights of studying/researching a lot more bearable.

I have a meeting tonight with my GSoC advisor, so I am going to return to my previous task of getting Apache’s Shindig project to communicate with Joomla! via a component.  I’m close…but these technical hiccups keep getting in the way.

I have to throw this out there

Racquetball is a freaking amazing sport.

That is all.

Reuse, recycle…and reproduce

It has been said before that we stand on the shoulders of giants, building off their successes and achieving the wonders that we do thanks to those who have come before us. Truly, without the work of our predecessors - who often go vastly underappreciated - our society would not be where it is today. That is simple fact and common sense that any field can relate to.

Surprisingly, though, this is easier said than practiced. Take, for instance, Computer Science.

Simply put, through our years of CS studies, we are caught up with everything from the abacus and the ENIAC to the present day, and made privy to the thoughts and theories and best practices, so that we can begin formulating our own theories from where we currently stand, and thus continue the progression forward. Concordantly, the CS curriculum is very different now than it was a decade ago. With advances in algorithms, artificial intelligence, and hardware capabilities, we are able to tackle far greater problems in computing than we could have ever dreamed of approaching with 386 microprocessors. Indeed, it is drilled into us at a conceptual level at Georgia Tech that we should strive to avoid reinventing the wheel, as it were.

Of course, there has to be a certain amount of it within classes, so we can learn how to, say, program in concurrent environments, or observe the behavior of networks under stress to isolate bottlenecks, and so on.

But what of our insatiable egos…

I realize this can be somewhat of a tender subject. Nevertheless, it has become abundantly clear that, given the choice, the average computer scientist would rather reinvent the wheel him/her-self than utilize a software package of very similar nature to accomplish the same task. Whatever the reason (my cynicism claims ego), a lot of time is spent implementing protocols that have already been implemented a thousand times before.

To give a real-life example, Flickr recently announced that they had outgrown their Ruby implementation and would be experimenting with a homegrown solution. Now, I am all for adopting new technologies as the need arises, but there are countless photo management suites out there, numerous well-written and modular technologies that should be able to satisfy the need - at least in part - of any photo host. Building one’s own solution from scratch reeks of professional egotism.

Of course, perhaps I’m just being cynical and judgmental. I will admit that I have succumbed to this inherently human flaw on many an occasion - in fact, most of my personal programming projects are rewrites of existing software. There is certainly merit in doing something for oneself, particularly for the education of the experience. I learn how AJAX works through writing it myself. I learn how bulletin board applications function by writing mods. Nevertheless, to this day I will still credit two particular endeavors as my greatest blunders in this area of reuse: my attempt to write a templated wiki, and my attempt to create a homegrown content management system.

The latter was an interesting culmination of hardcoded HTML and random crashes (all in a single 2000-line PHP file, I might add), and the other never went beyond the inital testing stages (supposedly a combination of the BML and Smarty template systems…yeah, don’t ask me to explain, I don’t get it either).

Like I mentioned previously, this tinkering can be good - indeed, it taught me a lot about template engines, how they work, and what goes into making the beastly Joomla! CMS function as it does - but come on. It’s all been done before!

I had a meeting tonight with my Summer of Code mentor, Amy, regarding my project to make Joomla! an OpenSocial container, meaning that OpenSocial applications would be able to run within the CMS. She discovered the Apache Incubator project called Shindig (for which I’d almost applied to for GSoC, in fact) which is an implementation of OpenSocial, and suggested that, instead of reinventing the wheel, we should utilize their code base in building OpenSocial into Joomla!.

Honestly, I was surprised I hadn’t thought of that before. It was brilliant on all counts. Maybe it was because my CS ego and seemingly innate need to DO IT MYSELF was temporarily blocking out reason.

Of course, all that having been said, one still needs to tread lightly. Yes, open source is meant to be open and useful to everyone…but the nuances of licensing can have the nasty tendency to creep up and bite you in the rear end. Apparently, Joomla!’s GPL v2 license is minorly incompatible with Apache’s 2.0 license.

Furthermore, the state of Georgia recently published a report on how to reform its mental health institution…except, according to the AJC, it was viciously plagiarized from several sources:

By typing phrases and passages from the essay into Google, the Internet search engine, the newspaper determined that every sentence of the essay was taken either from a psychiatric association document, published in 2005, or a 2006 report by the University of Texas’ Houston-area psychiatric center.

The report owes its greatest debt, however, to Michigan.

-Gov.’s commission copied others’ material

In this particular case, the bounds for reuse of material were obviously overstepped. By a lot. In fact, I think this is just plain dumb. But the ethical implications of this particular issue are a bit different and more far-reaching than simple PHP module reuse, so I will end my rant here, and leave you with the following lolcat:

The funny thing is…they look like my cat, Salem. O_O

Making the [curve | grade]

My Probability and Statistics course this semester, contrary to what may be the norm in college, is the first course I have ever taken in the last five years that is truly graded on a bell curve.

For the sake of having all two of my readers on the same page, the bell curve involves normalizing the performance of the entire class and assigning those seemingly-arbitrary letter grades based on the normalization, rather than absolute points. For example, if the class average in the whole class is a 50, then a 50 becomes a C, and all the grades are assigned from there. There are some more details that go into it, such as how spread out the individual student averages are, but if a 50 is a C, then a 70 could easily be an A.

In another class full of geniuses, an 80 could be a C.

See where I’m going? Basically, you’re in competition with your peers.

My opinion on this can and always been summed up in one word: bullocks. My thinking is that any class in which you can spend your entire semester kicking your arse and getting solid grades in return and still end up getting a C has something wrong with it. My thinking is that any class in which you can spend your entire semester forgoing your studies and instead focusing on lacing your classmates’ drinks with laxatives and still end up getting a C also has something wrong with it.

My thinking is that any class in which both of the above statements are true is completely whack.

However, in speaking with my Dad and Cathryn, as well as a few of my fraternity brothers, it was pointed out to me that this grading system also works very well at normalizing against bad professors. This is a particularly good point; if the class was graded on an absolute system, where anything above a 90 was an A, but the highest grade was a 75, I think everyone would be a little peeved to discover that the class brainiac got an “average” grade.

Still, it assigns a true bell curve to the class: the majority of the students will receive a C. As and Fs will be in the minority compared to Bs and Ds. And calculating scenarios as final exams are looming is all but futile: it depends almost exclusively on how well your classmates do in relation to you.

My girlfriend brought up a good point, though: what if all the kids in the class are morons? People who should get Fs could end up getting Cs.

After having mulled over this, I have come up with the following thought: I’ll prove that I am, in fact, learning something in ProbStat and prove why the bell curve system is much more effective at trapping incompetent professors than passing along incompetent students.

Ahemahemahemahem!

Let’s say you have a class (say, a ProbStat class) with a professor and a bunch of students (say, 46 students). The probability of any individual out of those 47 being incompetent is 50%. How likely, then, is it that the professor will be incompetent, thus maximizing use of the bell curve? How likely is it all the students will be incompetent, thus exploiting the bell curve?

As stated in the problem, the probability of any one person being incompetent is 50%, so the professor has a simple chance of 50% of being an utter failure. With all 46 students sporting a 50% chance of incompetency, the calculation becomes (0.5)46, or 0.0000000000004%.

Even the probability of half the students being incompetent is miniscule: (0.5)23, or 0.00001192%.

Ok, so obviously the likelihood of the system being exploited in favor of awful students is all but impossible. So let’s make the calculations a bit more realistic. Professors, by definition, have had years and years of studying and research and teaching behind them, so by that reasoning it’s unlikely (though still possible) that they’re incompetent. Let’s say they have a 10% chance of incompetency. Students, on the other hand, have literally no (or very little) experience under their belts, and are most likely piecing things together for the first time. Let’s say their chance of being incompetent is 80%.

Even with these incredibly skewed numbers, the chances of a professor being incompetent vastly overshadows the possibility that all the students (or even half of them) are utter failures. To wit: a professor will be incompetent 10% of the time, while a class of 46 students will be entirely incompetent 0.00035% of the time, and half that class will be incompetent 0.59% of the time.

That’s still practically a factor of 20 difference between the two probabilities.

Isn’t it comforting to know that it’s much more likely that your professor will be an idiot rather than half your classmates?

Obviously, this is still an oversimplification, but I think the proof of concept is there.

(by the way, if any of my calculations are incorrect, please feel free to point that out…gently)

While we’re on the topic of math, though, can anyone help me with the following problem:

You have 10 bins and 100 balls. 5 of the bins can only hold even numbers, 4 of the bins can only hold odd numbers, and one of the bins can hold any number, even 0. How many different ways are there of distributing the balls among the bins?

I can set up the equation: ten variables, each representing one of the bins, added together and equaling 100. The idea is to simplify it to the point of being able to use the formula (n + k - 1) choose (k - 1), but that requires reducing the restrictions of each variable to xk >= 0, and with one of the bins not having to possess an odd or even number of balls, it destroys the possibility of factoring a 2 out of every variable and dividing it out of the whole equation. Help would be appreciated!

Ok I think I’m done with math for the day. Got a senior design meeting with our customer in 5 minutes, and we’ll be delivering our product vision statement and relaying news of our progress thus far. More details to follow.

Stay outta trouble!

*crickets*

It’s so…quiet.

Admittedly, that’s a bit of an exaggeration. Georgia Tech is one university that really never sleeps; as if the research and professional aspects of the academic balrog never ceased their tireless toils, students themselves, undergraduates and graduates alike, perpetually populate the campus. Whether it’s the presence of the cooperative work program or simply a generally more present desire in the student body at large to treat the summer as yet another semester in school I can’t say for sure. Nevertheless, campus is a flurry of activity.

To those veterans who have been here for awhile (working on half a decade m’self here…no wisecracks out of you, I forgot my walker today), it is still noticeably quieter on campus. It may not be obvious during the week while classes are in full swing, but particularly on the weekends the difference is virtually tangible.  For instance, many of my fellow CoC blogger compatriots have become conspicuously quiet in the last few weeks.

The general quiet is nice, in some respects. In others, it downright sucks.

The biggest drawback, I think, is how few of my friends are still in the area. Now, this is a slightly more complicated situation: I started my undergraduate career in the fall of 2003, so everyone I attended high school with finished their undergraduate careers in May 2007. Because of my cooperative pursuits, study abroads, and various other collegiate tangents, I am graduating in exactly 58 days.

Holy CARP! FIFTY EIGHT DAYS??? My. Time flies.

ANYWAY.

Therefore, part of the reason so many of my friends are no longer here is the simple fact that they no longer have any need to be (unless they’re in graduate school). Still, though, I have plenty of friends still in college, who have opted to do what most “normal” college students do and spend their summers taking a break from the rigors of academia and pursuing more extracurricular endeavors.

Like sitting in a cubicle all day.

I guess my point here is that I am having a somewhat crummy week. I just returned from Ohio after having spent a wonderful weekend with my girlfriend (check out the caricature of us from Cedar Point), and came back to an exam grade I could have done without, a malfunctioning laptop, and other miscellaneous potpourri that is collectively leaving me feeling a bit…stressed.

But, as we all know…time and tide wait for no man.

Speaking of tide, I could use a stint at the beach. But I think I can settle on waiting another 58 days instead.