AdamTheTech Logo
AdamTheTech
Enthusiast of Technology, Web Development, and Sci-Fi

Microsoft’s Free Virtual Machine Images

Deus Ex: Human Revolution Review

Embed dll Files Within an exe (C# WinForms)

Microsoft’s Free Virtual Machine Images

I have been using Microsoft’s free virtual machine images for a few years now for browser testing and to help me navigate the various operating systems when a user calls me for support.

Microsoft released their new images and can be found here:

http://www.microsoft.com/download/en/details.aspx?id=11575

Note that if you find yourself depending on these images more and more, it seems to take about a month or so for Microsoft to update the images after the expiration date, so keep that in mind when that time of the year comes. When the last set of images expired in the beginning of November, the new images weren’t available until mid-December.

Virtual Machine Uses

These images offer Windows XP, Windows Vista, and Windows 7. Each platform has a version of the Internet Explorer browser available. While IETester offers a quick way to test websites with the various IE browser engines, it’s still not as good as having the real thing to work with. Additionally, IETester only works with the highest version of IE that you have installed. For example, if you only have IE8 installed, IETester can only work with IE engines up to IE8.

A side benefit to having the different operating systems available is that if you do any sort of tech support, it’s likely that your users/clients use different versions of Windows. So, whenever I find myself needing to guide users over the phone through a series of steps that may vary from operating system to operating system, I find that having these virtual images available helps considerably.

A third benefit is that virtual images allow you to have a place to test software that you may not necessarily want to test in a live environment or on your native operating system. This technique is called “sandboxing” because it allows you to isolate what you’re testing inside its own enclosed environment (or “box”). For example, not to long ago, I was testing various application firewalls to replace an older discontinued application firewall. As such, installing and uninstalling all these different firewalls would have eventually had a negative impact on my native operating system (for various reasons). Since I was testing in a virtual machine, all I had to do was discard the changes, and install the next one I wanted to test.

Virtual Machine Software

These virtual images are in the VHD disk image format. The one caveat in the EULA to using these images is that they must stay in the VHD format and cannot be converted to any other disk image format. You can run these virtual images using Microsoft Virtual PC or VirtualBox, as both support VHD image files and are freely available.

The current version of Microsoft Virtual PC is advertised with XP Mode.  XP Mode includes a fully licensed virtual machine image if you are running Windows 7 Professional, Enterprise, or Ultimate. If you aren’t running any of those editions, you can download Virtual PC without XP mode by clicking the link “Don’t need XP Mode and want VPC only? Download Windows Virtual PC without Windows XP Mode” and selecting your operating system.

If you still need the older version, Virtual PC 2007 for Windows XP or Vista, it is still available here: http://www.microsoft.com/download/en/details.aspx?id=4580

However, for Virtual PC 2007, make sure you install the service pack and hotfixes in the order listed below:

  1. Service Pack 1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24439
  2. Hotfix rollup (scroll to the “Resolution” section for the download): http://support.microsoft.com/kb/958162
  3. Security update: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=25161

Best Practices

When you use these virtual machines, keep in mind they won’t nearly be as fast as your native operating system because they are running on top of your native operating system. To get the most out of your virtual machines, make sure you have enough physical RAM to run what you need in your native environment as well as in the virtual machine. I recommend at least a minimum of 2GB of physical RAM in order to run just one virtual machine.

Here is what I have found that works well as a bare minimum for allocating RAM for each virtual machine:

  • Windows XP virtual machine: 512MB RAM
  • Windows Vista virtual machine: 512MB RAM
  • Windows 7 virtual machine: 768MB RAM

It also helps to host the VHD file on a separate hard drive. Running your native operating system as well as a virtual machine from the same drive tends to reduce performance.

Deus Ex: Human Revolution Review

Deus Ex: Human Revolution is the prequel to the highly acclaimed game Deus Ex, which was released in 2000.  The events in Human Revolution (abbreviated as DX:HR) take place in 2027–25 years before the events in Deus Ex. These events follow Adam Jensen, a security chief for one of the game’s most powerful corporations: Sarif Industries. This is a world in which corporations have overshadowed world governments. As such, they have become targets for less savory individuals desiring simple destruction, or power and control. After a devastating attack on Sarif Industries, Adam Jensen is forced to undergo life-saving surgery and is infused with mechanical augmentations–a highly advanced and experimental form of biotechnology capable of granting individuals amazing strength and abilities beyond those of mortal men. Following the aftermath of the attack, Adam Jensen takes up the search for those responsible.

Development

The game’s development started in 2007 and was developed by Eidos Montreal. DX:HR is the first game to be released from the Eidos Montreal game development studio. Since primary development for the game would be for the console and since the developers didn’t want the game just to be just another lackluster console port for the PC, they gave the PC edition special attention by partnering with Nixxes Software to develop the PC edition of DX:HR in the final year of the game’s development. The game’s engine was based on the Crystal game engine used built by Crystal Dynamics, which was originally used in a 2006 release of Tomb Raider. It was modified and updated for use in DX:HR. DX:HR was published by Square Enix.

DX:HR is available on Xbox 360, PlayStation 3, Windows PCs, and coming Winter 2011, on OS X.

Preface

There are a few things to take into account before getting into the core of the review:

  1. It’s hard for a self-respecting gamer to say this, but I never played the original game. Since this is a prequel to the original Deus Ex, playing the original is technically not required. However, some easter eggs, gags, and references which lead up to Deus Ex will then be entirely missed.
  2. There is a point in the game where you can choose a starting gameplay style: lethal or non-lethal with short-range or long-range weaponry. I chose non-lethal and long-range. This choice only affects the weapon you start with.
  3. Medium difficulty. I expect most gamers who have played other shooters or RPG action games would select this level of difficulty.
  4. This is the PC edition of the game. There are differences between the console edition and PC edition, but they are largely cosmetic in nature and don’t affect content or gameplay.

The Good Things

  • Multiple styles of gameplay were possible. If you wanted to be Rambo, you could do that. If you wanted to be stealthy, you could do that too. If you wanted knock everyone out instead of killing them, you could also take that approach (though it was certainly more challenging, considering that non-lethal ammo was very scarce). If you wanted to explore every corner of the environment, you could, and if you didn’t, gameplay didn’t suffer too much (although you would’ve missed out on some hidden goodies). Lastly, you weren’t forced to play to any one style. You could be stealthy in one area and go in with guns blazing in the next. It was very fluid. Certain areas of the game made it more challenging to take one approach over another, but never impossible. There was always more than one avenue for success.
  • Hidden goodies were everywhere (weapons, ammo, miscellaneous items).
  • The detail. There was a lot of detail. Plot detail. Level detail. Character detail. Technical details. The world of Deus Ex was also chock full of gags and easter eggs if you paid attention and looked hard enough–from big signs down to little post-it notes. For instance, similar to email accounts in the real world, even email accounts in Deus Ex were hit by Nigerian spam.
  • In terms of style, everything fits. Everything follows a consistent theme. Because of this, cities look and feel like cities. Offices look and feel like offices. Props which can be used for cover blend right in to the surrounding environment like they are supposed to be there. Very little blatantly stands out and interrupts the game or its environment.
  • Good weapon variety beyond the standard pistols, machine guns, and shotgun.
  • Long play time. Instead of the typical 6-10 hour game length, expect 25-30 hours easily, especially if you follow through on all the side missions and explore a little bit. Double that if you decide to play through the game for a second time.
  • Regenerating health. While it was a little annoying to have to wait for heath to regenerate, it was a good tradeoff between that and having to interrupt the game to backtrack and scrounge for health packs.
  • While combat mode was in first-person, the cover system switched to third-person fairly seamlessly with a minimal number of glitches. The third-person view offers the a wider field of view, minimizes the issue of wacky camera motions which usually comes with using a third-person view, and allows you to aim a weapon or wildly shoot over your shoulder from cover.
  • The hacking puzzle mini-games didn’t detract from the overall game, unlike the pipe mania puzzles found in the Bioshock game series. DX:HR’s hacking puzzles tended to vary more and offer rewards for taking risks. Hacking also didn’t halt the environment around you, so on occasion, you could be attacked while attempting to hack a door or safe.
  • Some decisions or actions you take in some of the missions had consequences or rewards later into the game, depending on how you completed them.
  • If you defeat enemies using non-lethal methods, you gain more experience points than by using lethal methods (since employing non-lethal methods are typically more challenging).
  • When enemies are defeated, you have to move the body out of the line of sight of cameras or other enemies. Otherwise, they may see the body and trigger an alarm. If an enemy is only unconscious, his cohorts will then help revive him. This is an interesting game mechanic which adds a bit more depth and challenge to the game.
  • Certain upgrades (or augmentations) can affect your style of gameplay and grant access to hidden rooms, passages, and treasures that would otherwise be inaccessible without the upgrade(s). Since not everything can be fully upgraded, careful consideration of what to upgrade and how it fits into your gameplay style must be made.
  • The sound effects and music were seamless.
  • Certain cutting edge graphics features were present, such as tessellation, HDR, Depth-of-Field, and multi-monitor support.

The Bad Things

  • Load times weren’t great. There was enough time to get up, use the bathroom, get a drink, fix a snack, come back and sit down and still wait a few moments for the game to load (I exaggerate slightly. But not much). After a level would load and finally allow you to interact with the environment, the first 5 seconds stuttered horribly as if the level didn’t actually yet finish loading.  However, from the looks of it, a recent update may have addressed these issues.
  • The game still has some annoying bugs in it:
    • When a mission requires you to read something, it doesn’t always register as being completed after reading it.
    • In rare instances, your weapons would stop responding to the firing button/key and wouldn’t fire again until you reloaded a save point.
    • A few exit points in levels are indicated as the next destination in missions, however, the navigation compass points to exits which are actually inaccessible. The mission descriptions do not indicate that you need to exit the current level and to go to a different one. This led to a lot of wasted time backtracking and looking for hidden pathways. An alternate exit must be located instead.
    • While more amusing than annoying, the bodies of defeated enemies occasionally got stuck in walls or shoved down through floors when trampled by other living enemies. These displaced bodies continued to jerk around and make noise.
  • Exits/doors to other levels weren’t clearly labeled as a level exit, which would trigger the loading screen. It may have been better to have these special doors indicated in a different highlighted color or pattern, rather than just by the tiny label that appears after a second or two.
  • The inventory system was limiting, considering weapons took up so much space and grenades each used up one slot/block, rather than being grouped together like other items. It wasn’t clear which items or how many of them could to be grouped in a single slot/block, since they tended to vary between different types of  items.
  • Ammo was rare and tended to be used up fast, especially when facing armored enemies with heavy rifles. Available ammo wasn’t consistent for weapon types, so you needed to keep multiple weapons in the inventory. Dropping weapons would also mean losing their upgrades, so you would have to hang on to them, as upgrades were somewhat rare.  Then, of course, the size of the inventory was limiting, as mentioned before. But, this is probably just what happens when combining RPG game elements into a FPS game; it leads to granular inventory management. If there was a single area that hindered the game the most it was inventory management and limited ammo.
  • There was no quicksave/quickload hotkey. To save/load a point in the game, the menu system needed to be used. This became tedious, especially if you like to quicksave before entering new areas or before facing new enemies.
  • Some cutscenes were pre-rendered, while others used in-game mechanics and graphics. The pre-rendered cutscenes didn’t seem to offer any graphics better than what was already present in-game. The pre-rendered cutscenes tended to interrupt the flow of the game, especially since they eliminated some potential action from gameplay. They were highly compressed and pixilated, so there was a significant and jarring visual difference between the game and the cutscene.
  • The graphics engine of the game did not look modern when compared to other games released this year or in years prior. DX:HR used low resolution textures with high resolution rendering, which led to an odd visual combination.  Games released prior to DX:HR seemed to offer a higher degree of polish and immersive realism, such as Crysis, Left4Dead, Doom3, Unreal Tournament 3, and Dead Space.  But to be fair–most of these blockbuster games had more recent game engines to build upon, had larger budgets, and had a development studio with more than one game release under their belt.
  • The skyboxes meant to display sprawling vistas were just flat, pixelated images. It was surprising to see such a primitive skybox technique in use when compared to the other cutting edge technologies present in the game.
  • Most of the characters look like they were built from a collection of shapes, rather than offer the illusion of representing an individual (a fault of the dated graphics engine the game was based upon, most likely). Facial expressions appeared to be fairly limited beyond the basic phoneme animations.
  • There is little feedback based on your gameplay style. If you choose a non-lethal path and eliminate enemies without shedding blood, there is no comment made about it. If you choose a lethal gameplay style, and start taking out enemies, hostages, and civilians, there are no consequences. Civilians will typically duck and raise their hands if you start a firefight in public, but that is about the extent of the reaction in the wake of the horrors in a path of destruction.
  • There aren’t enough ways to approach boss fights. The only techniques which seem to work are to run, hide, and attack. And if you could stun with either grenades or the stun gun, that would help a bit. The bottom line is that you had to be carrying a small arsenal and use up a lot of ammo in order to defeat any of the bosses. A game should lead up to a boss fight so a player can apply all that they have learned in order to defeat a boss. This was not the case here.  Any of the other playstyles which were learned earlier in the game were completely ineffective. Lastly, a non-lethal approach was impossible in boss fights, as game itself does not allow this approach with bosses.
  • While there isn’t much of a story, there is certainly a lot in terms of plot which propels the game forward. Plot is just the progression of events. Story uses plot to express an idea, or show change in an idea or character. The protagonist in this game doesn’t change or evolve as a character–he just delivers his lines in the same deadpan manner throughout the entire game. The idea that augmentation is bad doesn’t change throughout the game (or maybe that’s the point?). The plot (or “series of assorted accidents”) fails to build upon anything. After a while, tension falls flat because of the predictable succession of encountering quest after quest. The plot is just a linear progression of overcomplicated events which overwhelm and suffocate what little there is of a story.
  • (Spoiler!) Final battle of the game seemed really out of place and didn’t fit into the narrative being told up to that point. It seemed rushed, didn’t flow well, and was much less challenging than the boss fights offered earlier in the game. However, it did allow for slightly more flexibility with different gameplay styles.
  • (Spoiler!) The final point before the ending cutscene essentially allowed you to choose how the game ended, rather than lead to an ending based on your decisions and actions made throughout the course of the game.
  • If you want to play DX: HR again, you will have to start from scratch. Comparatively, the game “Borderlands” allowed a second playthrough, which increased the difficulty and allowed the player to keep all their weapons and upgrades.
  • Approaching the end of the game, characters tended to be very vocal about their views about augmentation, or rather, views that would reflect the real-world fields of genetic engineering, bioengineering, and biotechnology. In the game, these technological advancements were primarily portrayed in a very negative light and that it was spiraling out of control. These views seemed very pushy, especially for being inside a video game.

The Last Word

Overall, DX:HR is a fun, engaging, and entertaining game which almost begs you to play it a second time. This is one of the few games that has made me quickly consider another playthrough. Most of the good things about this game are very good. Many of the bad things could be considered nitpicky criticisms. Yes, DX:HR has flaws, but it’s extremely rare for a game not to. None of the flaws are show-stoppers and don’t detract from enjoying the gaming experience as a whole.

If you do play it a second time, take a look at some walkthroughs and hint guides so you don’t miss a thing. A good, concise guide can be found over at IGN and a more in-depth wiki guide can be found on wikia.

A DLC is planned for release in October, but pricing has yet to be announced. This DLC will continue the adventures of Adam Jensen from a point within the story of DX:HR.

New Theme is Live!

The new theme for AdamTheTech.com is live!

There is still a lot of work to do with the new theme, but the basic framework is now up and running. Enjoy!

Falling Skies – Worth a Viewing?

Falling Skies is a Sci-Fi drama produced by Steven Speilberg which premiered on TNT starting July 19th, and airs weekly on Sundays at 10PM/9c. With the summer notoriously lacking in good programming, this show is certainly worthy of some attention. What follows takes the first five episodes into account and will be spoiler free, so you can start from episode one without ruining any plot twists, surprises, or plot devices used to advance the story.Falling Skies Poster

The Plot

The world is has faced an apocalyptic alien invasion which resulted in 90% of the population being wiped out. Nobody knows where these aliens are from or why they have come to Earth. The story begins six months after the actual invasion and follows a band of survivors who attempt to scavenge what they can to carry on and fight back, although with the success rate of one step forward and two steps back.

You can view the official show trailer here, though it doesn’t really do the show justice.

The Cast

Falling Skies Cast PhotoStarring is Noah Wyle, probably most prominently known for is lead in The Librarian series, where he played bookworm turned treasure hunter, which draws on elements from several classic action movies.

Another familiar face, Moon Bloodgood, known for her roles in Terminator Salvation, Pathfinder, and Journeyman.

Will Patton, known for a starring role opposite Kevin Costner in post-apocalyptic film The Postman, plus various minor and supporting roles in Armageddon, Entrapment,  Gone in 60 Seconds Remember the Titans, and The Punisher.

Dale Dyle, a military man often consulting with or seen in military films and TV series, such as Saving Private Ryan, Platoon, Starship TroopersBand of Brothers, The Pacific, and Rough Riders.

Also making an appearance is Colin Cunningham, known for his recurring role on Stargate SG-1.

Sarah Carter, known for a guest role on Smallville, plus a number of minor roles in movies and TV shows in the fantasy, horror, and drama genres.

The rest of the starring and recurring cast members haven’t had extensive exposure in the Sci-Fi arena, but also include Drew RoyJessy SchramSeychelle GabrielPeter Shinkoda, and Connor Jessup. Recurring cast members (not already mentioned) include Bruce GrayMartin Roach, and Steven Weber.

The Good

They don’t skimp on the special effects. Neither the practical nor CGI special effects interrupt or distract from the story as it unfolds. There’s nothing that bothers me more and shatters the illusion of a good story than poorly executed special effects, although I tend to give a bit more leeway with TV shows.

The overall story arc has been slowly and carefully introducing key nuggets of information–all the while building tension and suspense, with bursts of action propelling the story forward. Elements of mystery and problem solving enter the fray. All this is very rare to find in a single TV show or movie these days.

Also introduced are some uncomfortably alien situations, which can throw your perspective slightly off-kilter. It’s rare to find a solid story element that hasn’t be recycled in the same way dozens of times in other stories. It adds layers to the mystery and suspense of these alien invaders.

The acting is great. None of the characters seem out of place, and everyone seems to have given it their all. I was a little wary of what Noah Wyle might be like, considering his quirky, over-the-top, and small budget feel of his role in The Librarian series. But, after just the first episode, that thinking was quickly dispelled, as he seemed to be a great fit in the show.

The Bad

The sappy hallmark moments intended as character development tend to be forced and seem out of place (however, this doesn’t start getting intolerable until episodes 4 and 5 when the story arc takes a break from the tension, suspense, and action for a few moments). They add backstory to the characters and attempt to explain why they act the way they do and how they ended up where they are, but not in a manner which is easy to swallow. There are good ways and poor ways to create a character’s backstory, and so far, they mostly fall flat.

The Last Word

Despite the show’s one obvious drawback, it still is only one minor element out of this entire show. Grab some popcorn, catch up on Falling Skies on TNT’s website or the iTunes Store, and settle in for the Sci-Fi TV adventure of the summer. It should be an interesting ride.

Season one has a run of 10 episodes, and the show has already been renewed for a second season featuring 10 more. When a show is offered renewal this quickly (especially when networks have been quick to cancel shows lately), there’s certainly some hint there which says it must be something interesting to keep an eye on.

Embed dll Files Within an exe (C# WinForms)

A while back I was working on a small C# WinForms application in Visual Studio 2008. For the sake of simplifying the deployment process of the application, having all of its components bundled up into one exe file would make it much easier to manage. But–documentation and tutorials on embedding dll files within an exe file were outdated, incomplete, or simply didn’t work.

The best example out of the lot was an excerpt from a book, posted on an MSDN blog by its author. Unfortunately, it didn’t work as presented and didn’t include clear instructions on how or where to implement it. However, it still offered a very good starting point. After some research, trial and error, and with the help of the Visual Studio debugger, here’s the solution.

Note: This method allows you to place dll files into any subfolder or series of subfolders within your project without needing to change any code after the fact. If you wish to forgo the use of a subfolder (placing the dll files in the project root), or use a hard-coded path to your subfolder(s) containing the dll files instead, there are alternative methods which would be more appropriate, but won’t be covered here.

1) The dll files themselves need to be embedded in the Visual Studio project, rather than just referenced. In your project, create a folder in the project’s root to store the dll files (right click on the project name > add > new folder) . I named mine “lib”.

2) Copy and paste your dll (and any accompanying support or definition files) into the lib folder. For purposes of this tutorial, the example dll used will be Cassia.

3) Next, include the dll as a project resource. Right click on the project name > properties (or Project menu > yourprojectname Properties). Go to the “Resources” tab.

Select “Files”, as shown here:

Click “Add Resource”, change the file type to “all files”, and navigate to the “lib” file where your dll is located. Select it and click “Open”.

The dll file should now be included as a project resource:

4) Add a reference to the dll file in the project. In the Solution Explorer pane, right click on “References” > Add Reference (Or, Project menu > Add Reference). Click the Browse tab, navigate to the lib folder where the dll is located, select the dll file, and click “Ok”. A reference to your dll will then appear under the references folder in your project.

5) By default, compiled files and project references are copied to the bin folder when the project is built. This will need to be prevented. Under the “References” folder, select the reference to your dll file. In the properties pane (or right click > properties), look for the attribute named “Copy to output directory”, and set the value to false.

Next, select the dll file under the “lib” folder. In the properties pane, look for the attribute “copy to output directory” and set the value to “Do not copy”.

Also look for the attribute “Build Action” and set the value to “Embedded Resource”. This indicates how the file will be treated and accessed when the project is built.

Lastly, exclude extraneous files accompanying the dll file, such as help files and XML definitions files–they are not needed in the project when it is built. Right click on the file (such as the XML definitions file) and click “Exclude From Project”. Now it will not be copied to the bin folder when the project is built.

6) In the code view  for your executing WinForm, include the namespace System.Reflections. This is important for some of the code responsible for loading your embedded dll file(s).

7) In the code view for your executing WinForm, this code should be placed in the constructor method (usually named the same as the form). It needs to appear before the InitializeComponent() method:

            AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
            {
                string resourceName = new AssemblyName(args.Name).Name + ".dll";
                string resource = Array.Find(this.GetType().Assembly.GetManifestResourceNames(), element => element.EndsWith(resourceName));

                using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource))
                {
                    Byte[] assemblyData = new Byte[stream.Length];
                    stream.Read(assemblyData, 0, assemblyData.Length);
                    return Assembly.Load(assemblyData);
                }
            };

Upon launching the exe, this code is responsible for detecting what dll files are needed and are being referenced, and load them from their embedded location.

8) In the code view for your executing WinForms application, you can now include the dll file’s namespace(s) .

9) In order to test everything, you will need to implement code from the dll file’s namespace(s), so that the AssemblyResolve event is triggered. However, if you include code from the dll’s namespace(s) within the constructor, Application.Run() will throw a “file not found” error for your dll file when the WinForms application is built and executed.

To correct this, you will need to place any code using the dll file namespace(s) in another method outside of constructor method. This is because the event handler for the assembler cannot be located within the same method that is calling it. It’s simple enough to do, but it’s just one caveat to be aware of.

It’s Live!

AdamTheTech.com is now live!

Currently, AdamTheTech.com features over 100 articles written by Adam going back to 2004. The site’s template will remain as one of the default WordPress templates for now.

The newest article–completely unique to AdamTheTech.com–is an Introduction to Social Networking. Enjoy!

Introduction to Social Networking

The emergence of online communities dates back to the dawn of the Internet when email and mailing lists were first introduced. Today, blogs, forums, message boards, chat rooms, online photo albums, bookmark sharing websites, video sharing sites, and various social networking websites/tools have flooded the digital landscape with what it means to be part of one or several online communities.

Social networking is the focus of people and their relationships with each other through a common activity or interest. An online community allows people to connect with each other through participation of their common activity or interest using the Internet as the communication medium. A social networking service or website is a form of online community, but the spotlight is instead on the individual, rather than the community.

Social networks are usually based around user profile pages. A profile page in a social network usually includes some basic autobiographical information, as well as interests, and other miscellaneous items which are usually related to the main focus of the social network or the way in which the social network functions.

But…What is it Good For?

What can you do with an online social network? It simply boils down to a way of keeping in contact with other people. School, work, business, family, clubs, activities, and dating—these are all avenues on how people are connected to each other.

From a personal standpoint, there are generally two schools of thought on how to use and approach social networks. Some people use social networks to meet new people and expand upon their social circle, while others simply use it to communicate with the people they already know in the real world.

On social networks, people can be observed sharing messages, videos, photos, and listed interests—and online, these relationships can be seen as tangible connections. Most of the time in the “real world”, many of the connections that are made between people are hidden. Maybe you can discover that someone you know shares a common interest with someone else you have never met. An online social network offers the unique opportunity to interact with that person.

However, not everyone uses online social networks in that fashion. Some people like to focus on the people they already know, keep in touch, or help develop their existing relationship with each other—especially if they’re separated by geographical distance.

Taming Pandora Music Radio

Pandora.com is quite a nice web application. If you’re not familiar with Internet Radio, it’s a way to stream music to your computer according to may want to listen to, without having to create mixes of music on your own. Most of the time, there’s no audio advertising, which was one upside to mixing your own music.

Pandora is different from other Internet Radio stations in that you’re not locked into what the stream owners play (much like how FM radio runs), but you can actually rate which songs you like or don’t like.

You start out creating a station by selecting a specific song or artist you like, and Pandora branches out and tries to find music similar to that. Only, a lot of the time, it branches out too far and ends up playing music that you don’t really want to hear. It’s at this point that most people wander away with the idea that “Pandora sucks”.

It doesn’t. The general idea of Pandora is to use it to explore all kinds of music, but many times, you just want a specific kind of music. Here’s how to do that.

1) Basically, you have to actively give a “thumbs up” or “thumbs down” rating on a good many songs before you start getting very consistent results. If you give no rating at all, Pandora will keep playing songs that branch further and further away to what you may have originally wanted.

For example, I wanted to make a station with Irish rock music, with Flogging Molly being the seed artist. If I left it alone for a while, it would start getting into Johnny Cash and random Country music. Go figure. Once I started giving a “thumbs down” to that kind of music (even if it *was* good music), I got back on track to playing just Irish rock.

2) Be critical of your “I like/don’t like” ratings. If you want a particular sound for a station, give it a thumbs up or thumbs down according to what you want for that particular station–NOT if you like the song in general. If you like the song enough, create a new station with that song as the seed (click on the album art, and to the right of “New Station:” click either “From song” or “From artist.”).

If you don’t stick to a theme, your station will become mishmash of different kinds of music. Personally, I like to keep lists of different kinds of music depending on my mood and what I want to listen to.

3) Add additional seed songs or artists. That usually helps when trying to keep to a certain kind of music on a station. To do this, click the down arrow on the station name, and click “edit this station”. Hit the “Add” buttons under Artist or Song.

4) Once you click on the Pandora player to give it focus, you can use keyboard shortcuts to control your station, so you don’t always have to fiddle with the interface while doing other things.

If you follow these tips, you will certainly find that you’re listening to more music that you like, and in the end, enjoy Pandora’s offerings a bit more. Happy listening!

(Originally published on pcmech.com)

When Filling a Need Turns Into a Fiasco

The “Weekly Rant” column was featured in the PC Mechanic Newsletter since 2005. Topics relate to some aspect of technology, which include opinions on hardware, software, new technology, technology companies, and computing standards.

To be successful, you must fill a need. Pretty much any occupation has evolved from needing somebody to fulfill a task, service, or produce something or other.

This week, some of you hardware junkies have probably caught wind of the latest PR fiasco: Creative and their sound card hardware drivers.

In a nutshell, with the introduction of Windows Vista a little over a year ago to the public, hardware developers scrambled to put out Vista-compatible drivers for their hardware. Up to this point, the common Windows platform they had to worry about was XP, which had become the de-facto standard in its 5-year existence leading up to Vista’s public release.

The problem was that since Vista was such a different animal, many manufactures had to basically develop their hardware drivers from scratch, causing a large lag time between Vista’s public release and the availability of working drivers for various pieces of hardware.

At this point, most of the common hardware in use today has driver support in Vista. This is where Creative’s trouble begins. So, we have our main points:

  1. Creative has not written working Vista drivers for many of its common sound cards in use today. This is over a year after Vista’s release
  2. Many of the products in question are advertised as working under Vista, while in fact, they do not because of broken drivers provided by Creative
  3. After becoming fed up with Creative, a programmer from the Creative forum community took the initiative and wrote his own drivers for creative sound cards.
  4. The programmer discovered that Creative had intentionally crippled features on sound cards through their drivers for various cards, presumably to promote “manufactured obsolescence” to force people to buy new products that advertised the missing features available on new cards.
  5. The programmer started accepting donations for the development of these unofficial drivers for the time he spent on them. Creative didn’t like that, deleted all of the programmer’s forum threads related to the unofficial drivers (on Creative’s forums), and asked that the programmer stop development and pull all materials. This is about when the forum community turned into a digital media circus.

While Creative was well within its rights to protect its Intellectual Property, the customer base was certainly not happy.

Why?

The unofficial drivers allowed their Creative hardware to work under Vista, while with Creative’s official drivers, it would not. After spending anywhere between $30 and $300 on hardware, not being able to use it because of software issues or limitations is liable to make anyone unhappy.

So, what happened?

Someone found a need, filled it, became successful, and got knocked down because what they were doing wasn’t technically within their legal rights to do with someone else’s product.

But, that doesn’t stop thousands of unhappy Creative hardware owners from voicing their complaints and condemning Creative for cutting off their only means for getting their hardware to work under Vista.

Creative has yet to respond to the online riot. My guesses as to what they’ll do?

  1. Nothing, other than to reiterate their Intellectual Property sovereignty
  2. Backpedal and work out a deal with the programmer
  3. Rush to put out “official” drivers of their own that work–for the most part (in order to placate users and hopefully draw back some lost customers).

Here’s some of the highlights should you wish to read further:

http://consumerist.com/373901/creative-sparks-customer-revolt-when-it-tries-to-silence-third+party-programmer

(Originally published in the pcmech.com newsletter)

Reveal TinyURL Links

While TinyURLs can sometimes be handy and short and pretty to pass around and post in your blog, they also effectively hide the original URL.  What this means, is that sometimes, people can hide all sorts of URLs behind it, including those you may not really want to visit.

Here are two ways you can unmask those URLs.

The first way is to bookmark this link (right click on the link, bookmark link or add to favorites):

Embiggen

Whenever you visit a page that has TinyURLs on it, click the bookmarked link, and it will replace all the TinyURLs with their actual URLs.  You can visit the author’s site for this tool here: http://ghill.customer.netspace.net.au/embiggen/

The second way is go directly to the TinyURL site and click the “enable previews” link: http://tinyurl.com/preview.php?enable=1

You can also bookmark the enable link directly: http://tinyurl.com/preview.php?enable=1

You will have to have cookies enabled for this to work.  Basically, what it does is visit the TinyURL website when you click on a TinyURL, show you what the actual link looks like, and at which time, you can choose whether or not you really want to visit the link.

(Originally published on pcmech.com)