Archive for June, 2008

The Game

Today I got to experience the Bay Area Phenomenon known as “The Game.”  The Game is a combination scavenger hunt, logic puzzle, and race.  At each point in the hunt, you are given some puzzle to solve.  However, you generally aren’t given any kind of instructions and you need to solve the puzzle to obtain a clue as to where you have to go next.  For example, one puzzle I encountered today was just a sheet of paper with a maze filled with letters.  I solved the maze from start to finish, but the path I took through it didn’t hit any letters that made sense, but when I looked over the puzzle again after I finsihed, I saw that the path I took through the maze spelled out “MOD3.”  So, I went back and took every third letter, which then spelled out a riddle that I needed to solve in order to move on, and that was one of the more straightforward puzzles.

While my team didn’t finish first, we did make a decent attempt and had a lot of fun doing so.  While one instance of “The Game” is usually played over the entire Bay Area, our game was restricted to downtown Palo Alto, so we were able to complete it on foot.

Posted on Friday, June 27th, 2008
Under: Blog, VMware | No Comments »

Testing Deluge 0.6

So, the last couple days I’ve been playing with the latest release of my former project, Deluge.  With version 0.6 comes support for a client/server mode of operation, meaning the downloading can run on a different computer as the user interface.

Deluge-0.6

For those of you running Ubuntu, you can get up to date SVN builds of Deluge 0.6 from my PPA: https://launchpad.net/~zachtib/+archive.  Otherwise, you’ll have to wait for an official RC release or build it yourself from source.

Several things have changed since the 0.5 days.  First off, 0.6 is a complete rewrite.  It uses XMLRPC to communicate between the client and server, which allows it to run on separate computers.  Today I tested this using VMware and ran the front and backend on separate virtual machines.

The user interface has also been completely overhauled.  Personally, I think it now looks a lot more like uTorrent with the Labels pane on the left hand side.  In addition, the preferences dialog has been redesigned as well.

For those that don’t have a need for a separate frontend and backend, a “Classic” mode is available in the preferences dialog that will emulate the old method by automatically starting and stopping the backend with the client.

I’m very happy with the direction the client is going, and plan on using it for the forseeable future.

Posted on Wednesday, June 25th, 2008
Under: Deluge | No Comments »

Green is my favorite color

I’m genuinely impressed at how environmentally friendly a company VMware is.  For starters, there’s the free shuttle service that they run, which cuts down on the number of people that drive to work.  Then there’s their little electric carts for traveling between the different complexes in Palo Alto.

There aren’t many trash cans in the buildings, and when there are, they’re often sitting next to a much larger recycling bin.  The Promontory Cafeteria, in particular, generates no trash: everything is recyclable or biodegradable.  There’s also a large selection of vegetarian and vegan food options every day.

Then there’s the virtualization aspect.  VMware’s software allows for the consolidation of servers and workstations by allowing several operating systems to run at a time.  By using VMware’s software, companies can reduce the number of separate servers that they need, meaning less wasted CPU cycles and wasted energy.  The particular project that I’m working on can reduce an entire computer lab down to a single server.

Posted on Thursday, June 19th, 2008
Under: Blog, VMware | No Comments »

Developing Components for XPe

I spent most of the day further researching XP Embedded, specifically with respect to developing custom components.  As the software I’m working on is meant to run on embedded devices, it would be a good idea for us to provide an XPe component in addition to our regular installer.

For the moment, I accomplish this by having the component run the installer at first boot, but I’m hoping to come up with a more elegant solution in the next couple of days.

Component design is another aspect of XPe Tools that could use some work.  With most software for Windows being distributed in exe or msi form, I was suprised that there was no utility to build a component from one of those files.  Instead, the best way to accomplish that would be to use a third party tool, such as InCtrl5, that will monitor changes to the filesystem and registry during the installation of any given piece of software.

Another odd thing I noticed today is that the Target Designer seemed to be crashing on me every few minutes.  I just upgraded it to SP2, and I’m wondering if that’s the problem.

Posted on Wednesday, June 18th, 2008
Under: Blog, VMware | No Comments »

8 Million

Congrats to Mozilla for over 8 million downloads of Firefox 3.0 within 24 hours of release.

Posted on Wednesday, June 18th, 2008
Under: Tech | No Comments »

Using VMware to Build and Run XP Embedded

XP Embedded Studio isn’t actually a horrible application at it’s core.  Now, the user interface and documentation are God-awful, which is why I’m writing this post.  As you saw in my last two entries, I’ve been working with XPe for the last few days, and there has been plenty of frustration to go along with it.  What should have been a fifteen minute task wound up taking several days.  However, one week and a few dozen BSODs later, I present this how to:
Read the rest of this entry »

Posted on Tuesday, June 17th, 2008
Under: Blog, Microsoft, VMware | No Comments »

More Frustrations

Trying again to deal with XPe only lead to more frustrations today.  I managed to get the virtual disk marked as bootable, and the virtual machine did start up, but then I was faced with another problem.  As is, the image would complain that it couldn’t find System32\drivers\pci.sys, so, I rebuilt the image and included the PCI subsystem that contained the needed file.  After rebuilding the image and again booting to it, the image bluescreened as soon as it started loading.  Removing pci.sys fixed the bluescreen, but reverted to the other problem.  I still have some tinkering to do, but I don’t know how successful it will be.

During some of my sporadic downtime when Windows was crashed, loading, or rebooting, I took a look at the iPhone SDK and emulator.  Some of the webapps for the iPhone are really impressive, notably Facebook and Meebo.  I even found a plugin/theme for Wordpress to make a site more iPhone friendly and set it up for Collegegeek.org.  I haven’t started coding anything yet, but the first step will be to start learning some Objective C.

Posted on Thursday, June 12th, 2008
Under: Apple, Blog, Microsoft, VMware | No Comments »

Embedded Headache

Today, I had a unique opportunity to work with Window XP Embedded.

*Shudders*

Microsoft has made some lousy products in the past, but the Embedded SDK has to be one of the worst.  The application isn’t remotely intuitive to use, and even once you’ve learned what you’re doing, it’s not easy.  The task I had was simple: create an XPe image to test a particular program with.  However, this was far more difficult than it needed to be.  Even though I had a list of the DLLs that I needed, there was no easy way to find those DLLs in the XPe tools.  Each time that I wanted to load a DLL, I had to manually create a new filter for “Contains” and the name of the DLL, rather than use the integrated search box.  For some reason, the search box would not look at the names of the DLL files themselves, just the name of the packages they were in.  Even creating a filter didn’t work 100% of the time (actually, I don’t think it even found 10% of the files I needed).

Secondly, the built in dependency generation was a joke.  When you clicked on “Build,” it would ask you if you wanted to automatically fulfill dependencies.  You click yes, and it does that, but it’s not recursive.  Whast I mean, is after it’s done, and you click “Build” again, you know have X number of new components that need to have their dependencies checked, and so XPe will go on to scan every component again.  It took 5 or 6 rounds of dependency checking before it was finally happy for me.  Then, I got to build the image.  The software did some hocus pocus, and then spat out a standard looking C:\ filetree in a directory on my hard drive.  Now what?  I had Program Files, Documents and Settings, and WINDOWS, but no idea what to do with them.  I tried putting them on a virtual 512MB hard disk and creating a virtual machine to boot to it, but no luck, there was no MBR on the disk.  After 30 minutes or so of reading documentation on the matter, I called it quits for the day and went on to work on other things.

I know it’s not an impossible issue to overcome, and I’m sure I’ll get past it tomorrow, but creating an embedded image was far more difficult than it needed to be, and in my opinion, should be handled something like this:

  1. Start a new Embedded project.
  2. Load any number of executables that you need your system to run into the project.  The software scans the EXEs to determine which libraries they are linked against, and copies those files into the project as well. (Visual Studio has a tool to scan an EXE and determine it’s dependencies, so this should be possible.) The included EXEs will be copied into Program Files when the image is created.
  3. Create a profile of the hardware that the image needs to run on, and load the appropriate drivers.  For more common hardware, this could be done automatically, otherwise, the user could manually download and add the needed drivers.
  4. Now, perform a single, recursive, dependency check to satisfy all of the previously included components.
  5. Finally, export the image to a specified format, such as a CD ISO for installing the image, or a bootable USB jump drive.

That’s just a rough outline, but I think that it’s relatively feasible and that creation of embedded systems could be much easier.

Posted on Wednesday, June 11th, 2008
Under: Blog, Microsoft, VMware | No Comments »

Strum

Please click the Read link to see the image.

Read the rest of this entry »

Posted on Tuesday, June 10th, 2008
Under: Images | No Comments »

DO WANT

When the iPhone first came out, I had absolutely no interest in it.  It was expensive, locked in to a single network, and worst of all, did not allow for the development of third party apps.

Today, however, I’m having trouble resisting the lure of Apple’s new 3G iPhone, set to release on July 11.  While it’s still technically tied to a single carrier (AT&T), it has become much more affordable.  At just $199 for the 8GB model, it’s pricing is close to that of most other smartphones.  Secondly, Apple has since released the iPhone SDK, which allows for the creation of third party applications, meaning the device becomes much more hackable.  The new model also includes 3G networking support (duh) and GPS.

While I wanted to hold out for a Google Android phone, this will be available sooner, and will probably be more polished, as this is Apple’s 2.0 release while Google is still working on their 1.0.

Posted on Monday, June 9th, 2008
Under: Apple, Tech | No Comments »