Monday, October 27, 2008

PC gaming is not dead

Over the past two months I have been reacquainting myself with playing games on a computer. And so far, gaming on a pc, is the most fun I've had since playing games on a Sega Dreamcast.

Why do I think playing games on a computer is awesome?
  • Lots and lots of games - A huge catalog of titles.
  • Cheaper games - Usually $10 cheaper than the console version. Also, most big releases get a pc version, or eventually come out for with enhanced content and higher quality graphics; for example, Halo and Gears of War. Also the bargain bin is great with games like Age of Empires, Peggle, Call of Duty, Starcraft, Deus Ex for $20 or less.
  • Better graphics - playing Bioshock with all setting crank up to high on a good monitor leaves the console version on an HDTV in the dust.
  • Full versions of games - Team Fortress 2 is not limited to fewer players as in the Xbox 360 and PS3 versions.
  • Extra content - mods, fixes to errors, and free content from the developers themselves.
  • Free multiplayer - no need to pay an annual fee to play with friends or other people with easy to use interfaces through services like Steam or GameSpy Arcade.
  • You can use a controller - If you have a wired Xbox 360 controller, Windows will recognize it and all the games that have the "Games For Windows" label will change their interface to look almost like the Xbox version.
  • Computers do more - A computer can do many more things than just playing games: programming, picture and video editing, keeping your life in order, manage your media library, etc.
The games I'm playing or have played so far are:

  • The Orange Box - The best collection of games I have ever played. Nothing even comes close to Half-Life 2, and its episodes. Portal is amazing. Team Fortress 2 is suberb. And the short demo of peggle is the cherry on this amazing cake (No lie!). And the music...
  • Bioshock - An extremely immersive experience with a great story. However, I completely disagree that it was voted as "Game of the year." Its good, but not as good as so many people claim.
  • Civilization IV - What I imagine crack cocaine would be if it was a game. Do not play this game during your work days or if you have homework or a project to finish. The hours will pass and you will still want to play one more turn.
But as good as these past two months have been, there have been problems along the way. And this the only part where I can clearly see why most people prefer to play video games on consoles. First of all, you need a newer computer. Anything less than a multicore processor such a Core 2, an Nvida 8800GT, and 2 GB of RAM will not suffice to play the latest games.

And perhaps the most important thing you need to play games on a computer is an incredible amount of patience for unexpected problems. Searching for and installing the newest drivers for the different components takes time. Also, some games will simply not like your configuration no matter how powerful it is. In my case the Orange Box was the game with the least problems, but Bioshock did have issues with the sound card. Civilization IV was the worst in this respect as it crashed a few times.

Thus, if you spend a lot of time in front of your computer why not bring the games to you instead of you going to the games. If you have the computing power to handle pc games and don't mind troubleshooting every now and then, playing games on a computer is an excellent alternative to consoles.

Sunday, August 31, 2008

Dover book

Its has certainly been a long time since my last post. But in the last few days I discovered a little book first published in 1963 called "Ordinary Differential Equations" that single-handedly gave me the inspiration for this post.

The book was re-published by Dover publications in 1985. Written by two professors Morris Tenenbaum from Cornell University and Harry Pollard from Purdue University, the book is the best reviewed about its subject on Amazon.com More than forty years old how can this be? And to top it all its price is less than $20.

When I took a course in differential equations a few years ago the textbook required for the course was definitely more than $100. So if you know what derivatives and integrals are, and want to learn about differential equations consider this book.

Thursday, April 17, 2008

Pandora

Quick post for today. And it will probably be very old news to many of you but I just discovered Pandora Radio. It was recommended to me last year, but it was until yesterday that I finally decided to give it a try. And my first impressions are along the lines of why didn't I try it much sooner. Pandora is great!

Pandora is a music service supported through advertisement. It was described to me as the music equivalent of Tivo, but since I don't own a Tivo I don't know if the description fits. There is a subscription option, but most people stick with the free version. The interface is clean, clearly a web 2.0 service in the tradition of Facebook. Furthermore, in less than five minutes I had already figured out how to use it and it is evident this thing is something special.

There are a few things that still need to be fixed. There is no rewind button and you can't play specific songs. You can only skip six songs every hour if songs don't match your musical style. So in this respect it's more of a recommendation service. If you like a certain artist or a certain song, then next song to be played will have similar characteristics to the songs you have already approved by giving them a "thumbs up."

I can't remember being this excited about a new service like Pandora Radio in a long time. The most impressive thing is that it tries to learn what sounds are pleasant to the user. Every track comes with a description of why its being played. Who knew music had so much structure.

Monday, April 7, 2008

To look at the stars and wonder



This is perhaps the most interesting video I've seen about the challenges and opportunities in the current and future space programs.

A few surprising facts are that the average American contributes $.15/day for the space program. And that back in the Apollo program almost 4% of the country's national budget was spent in NASA. Now that figure is less that 1/16 of 1%.

Personally, I strongly disagree with Congressman Barney Frank views. While I understand there are a lot of important issues that need immediate attention, we must also not loose sight of the future. The future. And the future is indeed space. Hopefully a new generation will emerge that is fascinated with space, and than when looking at the night sky they will be captivated by the big question "If."

Tuesday, April 1, 2008

Google docs

What is the one thing that most computer users want to do with their computer? Well, there is surfing the internet, and e-mail. However, an essential component of the modern computing experience involves writing documents, making presentations, and at times dealing with spreadsheets. Until now these tasks have always been done through any of the office suites available, which include commercial offerings like Microsoft Office, or free ones such as Open Office, etc. More recently companies like Google have began offering key functionality through the so-called "cloud." That is, basic functionality like editing a text document, but with everything done through an internet browser, and as long as there is an internet connection present. Google has just announced that they will add the ability to work offline in Google docs. But even with this welcome addition, Google faces serious problems and challenges with their take on office products.

No one can deny that Google docs is an innovative approach to offer consumers this type of product. The user interface is clean and easy-to-use, the key functionality for an office suite is present, and the whole thing is free! For many people the thought of dropping a few hundred dollars for a product they will barely use is not an attractive proposition. And it is precisely here is where Google docs succeeds. Not to mention people on many countries simply cannot afford to buy Microsft Office. Google docs deals away with this problem.

However, as good as the word free sounds there are a few things that people should be aware when dealing with anything in the internet. Privacy and Security. When working on Google docs the documents are stored in Google's servers. And although the company is known for the quality of its products, one has to wonder what would happen if the wrong people got access to that data. For corporations, this is not even a point worth arguing - the risk is simply too great: corporate secrets, proprietary information, etc. For normal users this is just as important. What happens when I write a document that contains highly important personal information with Google docs? Social security numbers, tax data, etc. Do I trust Google enough to safeguard my information? And will Google use my own data to feed me advertisement? These are very important questions for anyone wanting to give Google docs a try.

Other office suits like Microsoft Office and Star Office come at a premium. But the benefit - or disadvantage for some people - is that the users are entrusted with the responsibility of protecting their own data. And by having an application installed locally the product can have a richer set of features, that could, otherwise, be seriously limited by an internet connection. It will be interesting to see how much of the consumer market that already owns a commercial office suite would give Google docs a try.

Google docs is a showcase of Web 2.0 technology. It innovates, and it answers one of the most essential needs of computer users. It is especially important for users that simply cannot afford, or those that don't want to pay for office software products. But the innovation and set of features can be a double-edged sword due to privacy and security concerns. And as Google starts offering more and more of the Google docs functionally offline one has to ask if the company ultimate goal is to take on Microsoft Office directly with a product that started online, but just begs to be made offline.

Wednesday, March 26, 2008

Windows XP Zune Theme

First, I have to say that I'm not a fan of the the default XP themes. The bright green and blue toy-like look of the theme called Luna an its two other variations. In fact, ever since I started using XP back when its was still code-named Whistler I have always used the Windows classic style.

A few weeks ago I finally decided it was time for a change. Thus, while searching for new themes for my XP machine I discovered that Microsoft created two really cool looking themes for XP. Yet, no one seems to know about them. The themes in question are named Royale Noir (never officially released) and Zune.

So what do I think after installing the Zune theme? I'm really impressed so far and it almost feels like I just got a new OS. Gone are the lame bright colors and now are replaced by a sophisticated black look. Also, there is no hit in performance which is really good news.

If you are tired of the default XP look and you are planning to avoid Vista download the Zune Theme here.

Tuesday, March 25, 2008

The few, the proud, the Engineers.



A blog in Wired has generated a surprisingly amount of discussion on the internet in the past few days about engineering. A post in Slashdot has over 900 posts about it and with a very good range of information on why engineering deserves more respect than it currently receives.

As an engineering student I have a few thoughts of my own. One thing is for certain: engineering is hard, challenging and demands a lot of dedication. For example, just in the past week I spent about 5 days in a project, in which I spent about 30 hours solid working on it. Sometimes I feel as if to get an A in an engineering class you have to work 6 times as hard as many other Liberal arts, and business majors, etc. Even worse, to get a C you still have to work harder than said majors. That is not to say those degrees don't matter, but the reality is that there is a big difference in the amount of work an engineering student is expected to do.

However, as hard as it gets, the many late nights studying, the all-nighters, the frustrations and the headaches, Engineering *#$%ing ROCKS! No other field lets you take math and physics to create amazing stuff. And to all the engineering students: hang in there. We are going to make it through no matter if it takes us 6 years!

Thursday, March 20, 2008

Microsoft contributing to Eclipse

It has been announced that Microsoft will collaborate with the Eclipse foundation to make it easier for Java developers to create native Windows applications.

Microsoft will begin collaborating with the Eclipse Foundation to improve native Windows application development on Java.

Sam Ramji, the director of Microsoft's open-source software lab, announced at the EclipseCon conference in Santa Clara, Calif., on Wednesday that the lab will work with Eclipse .



A little history. No other programming language offers so many free high-quality IDEs than Java. There are so many good choices that its not only hard to decide which one to install and use, but which one to keep using in the long run. The two most well known IDEs are Eclipse and Netbeans and with every new release, features only get better as the two try to outdo one another.

Although each tool is available as open source software, Sun Microsystems takes care of Netbeans and Eclipse is an IBM project. As with all IDEs both can do all the basic functionality such as code coloring, auto completion, etc., but Netbeans tends to be known for its great visual editor and Eclipse for its excellent code editor and refactoring capabilities.

Eclipse and Netbeans possess loyal followings of users that often engage in heated discussions across the internet defending their respective camps. Another key player in the java IDE arena is IntelliJ IDEA, which is not free but it is known for its excellent set of productivity features. Many of which have been incorporated in Netbeans and Eclipse.

Personally, I have always preferred Eclipse because it has a much bigger ecosystem. Namely, many other companies support and make it the foundation for their products. For example Borland and IBM. It also enjoys a large amount of plug-ins written for it.

Now with the announcement that Microsoft is planning to support Eclipse there is one more reason to stick with Eclipse for the time being. However, this makes me wonder if the cross-platform strength of Java will be affected by having better Windows support with the Eclipse platform.

Microsoft to work with Eclipse - CNet Blog

Wednesday, March 12, 2008

Free knowledge

If I ever go to graduate school MIT is at the top of the list. It is a top engineering school and the institution is dedicated to sharing knowledge with every person in the world. In particular, MIT is known as being one of the first higher-education institutions to make many of its past courses available online for free. And after having checked a few of the courses I have to say that everyone with free time should check this great endeavor.

The course materials include a syllabus, lecture notes, reading material, assignments. Some of the classes even include video lectures. In case you decide to give it a try I personally recommend the physics, electronics and computer science material.

Indeed, this kind of information can benefit students at other institutions by providing another perspective into the topics they are learning. However, anyone with a little aptitude and dedication, and thanks to schools like MIT, can learn some incredibly cool stuff.

Sunday, February 24, 2008

Java sucks?

An interesting story from CrossTalk: The Journal of Defense Software Engineering and reported on Joels on Software's blog has a few controversial statements.

First, both the journal and Joel agree that Java is not a good choice for a first programming language at universities. Second, Joel mentions that there should be a separate college degree for programming, for those kids that don't want to deal with the more theoretical aspects of Computer Science. He also calls programming an art and as such the degree these kids get should be a Bachelors of Fine Arts.

While I agree that programming can be considered an art form, I do not share the same feelings toward Java "dumbing down the curriculum" and the comment about the BFA degree. Java does hide many of the low-level details such as pointers and direct memory manipulation when compared to C/C++. However, Java is a modern programming language. It was designed to not use those features and to make it easier on programmers to get their job done. Depending on what you are working on that might be a benefit or a problem. But the same thing can be said about C and C++. And any degree dealing with programming should be a Science degree: Bachelors of Science, etc.

The other comments in Joel's blog basically boil down to never-ending battle between Computer Science vs Software Engineering. Both disciplines are necessary, but I tend to fall in the CS camp. Without the theory behind computers how do we expect to come up with the next "big thing." Google was made because of the theory behind graphs, not because of the low-level details of the implementing language. Lastly, most universities these days offer enough programming electives for students to focus on their interests.

Undergraduate programming - Joel on Software blog.
Where are the the Software Engineers of tomorrow - CrossTalk

The benefits of multiple monitors for developers

The topic of using multiple monitors has been discussed before in "teh internetz," but I will like to share my views on this use of technology. Research shows that having more screen real-state does increase productivity. It seems that people do work better and more efficiently when they are able to see more of what they are working on.

Generally, the easiest way to get more screen space is not to get a single "huge" monitor, but to use two, or more smaller ones. For example having a single 24'' monitor will provide less screen area than having two smaller 15'' monitors. Software developers, graphic designers, and even Office users can benefit from the multiple-monitor setup. Since programmers can benefit greatly I will do my best to list the benefits of using multiple monitors when developing software.

First, the number one reason to get multiple monitors is because it just looks cool. Secondly, and perhaps the most important reason is that multiple monitors allow you to get more work done. How? In software development it is common to debug by stepping through the code, and at the same time making sure that the line of code executed successfully. However, the output might not be in the same window as the debugger. For example, when debugging a GUI program.

Most developers I know use the "dual-monitor" setup, two monitors of equal or similar size side-by-side. With this setup a developer doesn't have to switch back and forth between the program's output and the debugger. That is precious time saved. In some cases more than two windows need to be open in each screen. For instance, to monitor register, and memory values. This again allows you to have everything in sight instead of having it all crammed in one screen. With one window blocking your view of another.

Another example is having the code editor in one screen and the documentation open in another. You can instantly lookup anything. A good example is in Visual C++ when you put the cursor in a language keyword and press the F1 key - MSDN opens. With a dual screen setup your MSDN is always open and all F1 does is instantly refresh to the correct topic. With Java you might have an IDE open in one screen and a browser with the JDK documentation in another.

So you want to use multiple monitors? The first thing to do is to check whether your computer supports more than one monitor. Most computers only have one VGA or DVI port. If your computer has a video card and it is a newer model it might come with two ports. If you are buying a second monitor I highly recommend that you try to get the same model as your current one. And if you are planning to replace your old monitor get two of the same type.

You might think that switching between program windows doesn't save that much time, but it does. And it also might be the case that because you are able to see everything at once, code and GUI, you are also able to understand what you are doing better. Thus, you get your job done faster. For modern software development I believe that having dual-monitor setup is a must. And even if you can't afford two brand new top-of-the-line LCD's you can always get a cheaper older model. The important thing is having two.

Friday, February 22, 2008

Oops!

If you use Java you probably know about Generics. Generics are a powerful part of the language that can potentially save a lot of time, and code by allowing the use parameter types.

The way generics were implement was by erasure in order to keep compatibility with legacy code. By doing it this way a few compromises had to be made, especially with arrays. Now one of the designers of Generics is basically saying "We might have screwed up."

Changing Generics in Java 7

Thursday, February 21, 2008

Learning game programming with C#


The fine folks at gamedev.net made a really cool C# tutorial last summer. Not only do you get to learn programming but also the fundamentals of making a game. There are three substantial projects in the tutorial, none of them tied to C# in case you prefer another language. The site also has one the coolest online communities in case questions arise.

Overall, it seems like a good way to code for fun and learn the basics. And once completed the logical step after the tutorial would be learning XNA which now is free to students.

Learn C# - gamedev.net

Wednesday, February 20, 2008

PC Gaming? No go.

Perhaps a little late, but last week, thanks to a link in the CAG forums, I finally got myself a copy of what has been described as the best deal in gaming in 2007. A brand new copy of The Orange box for the pc.

The game arrived today and there is no way to be disappointed with the collection of games. The quality of all the games packed inside the orange box is excellent if metacritic is to be believed. More so with the PC version which has the complete version of Team-Fortress 2 and superior graphics than the Xbox 360 and PS3 versions.

There is just one problem: all the games in the orange box keep crashing. After installing the game I'm beginning to realize why so many people choose the console version. With that version you don't have to deal with pesky driver problems, graphics cards, lengthy installations, or just plain weird errors. All you have to do is pop the disk in and you are set. So after an hour trying to figure out what is wrong I have discovered that integrated graphics are not be enough to play the game.

Well it appears the cake will have to wait until the nVidia 8800gt drops in price.