Programming magic, glory, and juices.

Vongo Review

January 29th, 2006


I recently tried out the Vongo service that offers downloadable movies online for only $9.99 per month. I also recently canceled my Vongo subscription. Here are some of the reasons why Vongo didn’t work for me.

1. The interface is slow to load and provides a bad user-experence. Browsing the movie selection takes forever because of the graphics heavy nature of the program. The interface was probably written using Longhorn’s WinFX which is still in beta. On this computer I am able to run graphics heavy programs such as C&C Generals, Ages of Empires III, Half Life 2, etc with no problems. But the Vongo user interface experience is slow on my computer. It would be better if there was just a website that you could goto to view all the movie selections and then download straight from there.

2. Movies that are downloaded with Vongo can only be played with the Vongo player. Which means that the movies are encrypted and cannot be played in any other player. The Vongo player only allows you to view the movie in full screen mode or in a standard mode around 450 x 450. You cannot resize the Vongo player window either. Because the movies are encrypted this means you cannot burn them to a DVD and watch them on your TV, you have to connect your computer straight to your TV which in most cases requires extra hardware.

3. The movie selection is poor. Most of the movies they have on there are looser movies that are from the 70′s or movies that are your typical college get drunk and do crazy stuff type movies. After a while that gets boring. Even though they claim that they add new movies all the time they also take movies away all the time. You can only download movies between the time period that they specify. That really bites.

4. Vongo also claims that you can watch Stars live straight from the Vongo player which is true, the only thing they forget to mention is the fact that Stars keeps playing the stupid stuff over and over again. Also you only get one Stars channel which is not even one of the Stars channels that you see on TV. The “live” Stars channel that you do get is really nothing more than the movies that are in the Vongo library playing on a continious loop.

5. The best movies on Vongo you have to pay-per-view for. If I want pay-per-view I’ll just order it off the TV or goto blockbuster. They hit you with the subscription fee and then also a pay-per-view fee on some of the only good movies they have available.

For these reasons I decided to cancel my Vongo membership after less than a month of using the thing. There are other services out there where you download movies, but they have a cost per movie download. Vongo is one of the first I believe to have a subscription based service where you can download movies off the Internet. I’ve heard that Netflix has developed something similar to Vongo but has not released it yet due to licensing issues, etc. When Netflix does come out with their downloadable movie service I will definately be interested in trying it out. I already use Netflix for renting movies and it is great most of the time. Before that I tried Blockbuster and it sucked. For now if I want instant movies delivered faster than 2 days, I’ll just download TV shows and movies off the Internet using BitTorrent.

Thinking Outside of the Box

January 29th, 2006


“Well this is how we did it before..” is the type of thinking that makes most projects turn from bad to worst. If part of the foundation of a project is built poorly it is time to go back and rebuild it. Developers are a lazy bunch, and many times instead of going back and correcting fundamental design issues they just work around them. The best way to avoid these type of problems is to think, “Well this is how it ought to be done..” and do it. Don’t get trapped inside of your thinking cap, try to think beyond what your thinking cap has to offer you.

Gnutella

January 26th, 2006


The following is the story of my involvement in Gnutella from 2000 to 2001 and also the history of how Gnutella began.

Gnutella was released around March 14, 2000 by Justin Frankel and Tom Pepper the selfsame who created Winamp. I learned of Gnutella through the first Slashdot post of it. Being the first website to report of Gnutella, Slashdot touted Gnutella as the new peer-to-peer network that was going to be the next Napster. At the time Gnutella was only in beta and was never intended for the public. Unfornately the damage had already been done and once the Slashdot article had been posted AOL immediately shutdown the Nullsoft gnutella.com site. Since the download link for Gnutella was non-existant, comments by users on the Slashdot pointed out that users were gathering on Efnet in the #gnutella channnel. I was quick to join the channel and found myself among others who were already using the program. Because of the way I am and the fact that I like to try new things, I downloaded the Gnutella client and gave it a shot. Little did I know that the months in that year were going to be ones of futher devotion toward the Gnutella cause. At the time when Napster was being shutdown, Gnutella tried to beat the system by creating a network that had no hub – even though Gnutella did require an Ip address of another gnutella client to connect. What made Gnutella so popular at the time was a decentralized peer-to-peer network which anybody could share whatever they want with other and were not limited to just Mp3 files.

I continued to stay in #gnutella channel to learn about this exciting new program and to help share it with others. As more and more users started to pour in to the IRC chatroom they all continued to ask the same basic questions.. 1. Where can I download Gnutella? and 2. How do I connect to the Gnutella network with the client? So, in an effort to make it easier for people I created a quick tutorial html page and hosted it off my local machine. Users were then through the channel’s topic directed to the html page off my local machine where they could download Gnutella and learn about how to use it. Through websites such as mine and others Gnutella spread. It was not more than a few days that the webpage lasted on my local machine. My machine was beginning to develop serious performance issues due to the bandwidth and server resources that were being required to serve the information. Ian Hall-Beyer whom I meet through #gnutella came to the rescue and offered to host the site at gnutella.nerdherd.net. For a time this is where many people came to learn about Gnutella. I continued to maintain the content on the website with help and hosting support provided by Ian.

During the first few weeks of Gnutella’s initial 0.48 release other versions were released to take care of a few remaining bugs that existed in the application itself. AOL had forced Nullsoft to stop all development on Gnutella but a few updates were leaked out to secure the continued spread and vialbity of Gnutella on the Internet. The last version written by Justin Frankel was 0.56. The source code was intended to be released to the public once it reached version 1.00 but never did. These first updates were released on the nerdherd website and distributed to the public.

I also had the pleasure of meeting Gene Kan and Spencer Kimball in #gnutella. Both of whom had previous Linux programming knowledge and who both had attended UC Berkeley. I interacted with Gene on a regular basis and he eventually helped secure a more permanent home for the Gnutella website. Apparently gnutella.nerdherd.net had outgrown itself and it was time for a new hosting solution which helped Ian save much needed bandwidth. Gene cut a deal with wego.com and setup the account for the gnutella website to be hosted at gnutella.wego.com. I worked on the design of the website and organized the tutorial and information that was to be on the new site. Many of the Gnutella logos that were first used to spread Gnutella I created with Adobe Photoshop including one that Cnet used. Once the new site was finished Gene became the spokesperson for it. His email address was used as the feedback link on the site and a lot of press did use it to contact Gene about Gnutella. Through Gene’s interaction with the press he helped promote and explain Gnutella to the masses and he became the one of the leaders of the Gnutella movement.

As the builds of Gnutella stopped, the reverse-engineering of the Gnutella protocol began. It was well known that Gnutella as it was, was never going to be finished and was not a viable for average user such as Napster was. To help reverse-engineer Gnutella, the #gnutelladev channel was created and work began on other Gnutella clients. Spencer Kimball and Gene Kan worked on one of the first Gnutella clients for the Linux platform. Spencer, who had previously worked on and created the GIMP project, and Gene Kan both created the Linux Gnutella client Gnubile. In the months following other clients soon popped up including Bearshare who were locals of #gnutelladev. Limewire was also there, they even send me a Limewire T-shirt which was nice of them. The first clients created were free but many developers tried to profit off the new Gnutella peer-to-peer network. I tried myself to create a Gnutella client to see if I could do it but I did not have the level of Windows programming at the time required to do so, given I was only 16 years old. I did learn alot during that time trying to develop a client. Infact, many of the people in the #gnuelladev channel helped me and explained the Gnutella protocol to me. I used some of their code to help piece-meal mine together, but in the end nothing came of my code. The team of developers in #gnutelladev were very important to the success of the Gnutella protocol and decentralized peer-to-peer networks. They are the pioneers of Gnutella and of the peer-to-peer networks to follow afterwords.

After Gnutella I focused on my programming skills, using as the program to improve my skills on, ExtractNow. As for Ian, I don’t know what happened to him. CNet reported that Gene committed sucide and that was the first I heard of that. I was suprised by it. After working on Gnubile he created a company called InfraSearch which was invested in by Netscape and later bought by Sun Microsystems. Spencer Kimball is now working for Google. The gnutella.com website is now run by some organization I believe but I don’t really keep up with Gnutella scene anymore.

Below is a screenshot of the Gnutella.wego.com. It is similar to what it looked like when I worked on it. The logos and images and stuff I created for the website and I also put together most of the content. The page has since been translated in to Chinese for some reason and none of the links work. The actual url I found it at is located here.

Here are some Gnutella logos that I worked up at the time.

Bad Shifting Habit

January 24th, 2006


Yeah I gotta bad shifting habit for sure that hurts my fingers when I do it. What I do is use the right shift key to activate the special characters in the number row on the top of the keyboard. I use the same hand to press both keys, pressing the shift key with my ring finger and the number keys with my index or middle fingers. This really puts hurts my ringer finger as it has to reach down low. I believe what should be done is that the left shift key should be pressed with the left hand but only used when using number keys on the right which should be pressed with the right hand. While the right shift key should be pressed with the right hand but only used when accessing number keys on the left which should be pressed with the left hand.

I would also like to mention that the Home and End keys on a keyboard really ought to be place right above the left and right arrow keys on a keyboard. One other thing that I want to try is pressing the back space key with my right hand’s pinky finger instead of the ring finger and see how much less strain it puts on that finger.

Bad typing habits really don’t appear until your hands start to hurt during long typing sessions.

Random Number Generation Effectiveness

January 23rd, 2006


I have an idea to test the effectiveness of a random number generator, generate 15mb file of random numbers and compress it. The files that get the worst compression are the files that were generated with the best random number generator. With some bad random number generators, the larger the file, the better the compression. It would be interesting to see what different random number generation routines and different compression algorithms produced in compression ratio.

PixGallery, A Photo Gallery and Image Thumbnailing Plugin for WordPress

January 21st, 2006


PixGallery, automatically checks the actual size of your images agianst the <img> width and height specified in your html and creates a cached thumbnail images based upon your desired image size and links the cached thumbnail it into your html code. Readme is included for more information.
Download 0.3.8

Unfortunately I do not have the time needed to devote to this project. However, PixGallery has been modded and restarted..

Modifications

Awsom PixGallery
Harknell’s modification of PixGallery adds advanced features such as captions and other options.

On-The-Fly PHP thumbnail creation for TinyMCE, FCKEditor etc.
Mark Shelley‘s modification allows PixGallery to work outside of WordPress.

PixGallery for Unix
Antifart.com has a rather old modification that helped previous versions work on Linux.

Note: This information has been moved into its own post instead of being on the Projects page

PixGallery

January 21st, 2006


PixGallery is a wordpress plugin that.. “automatically checks the actual size of your images agianst the <img> width and height specified in your html and creates a cached thumbnail images based upon your desired image size and links the cached thumbnail it into your html code. PixGallery also has part that works like a photo gallery and the demo of it can be viewed on this site, under Photos. ”

Please see the projects page for more information.