Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

Saturday, October 8, 2011

ItsHidden Points to Me

In the summer of 2009, a new VPN service ItsHidden was announced. At the time, there were no instructions to help me get this to work on Ubuntu.

After a while (several days as I remember), I figured out how to make it work. The steps were easy to do but hard to figure out in the first place. Both by design and some chance, I had started an Ubuntu blog about a month earlier to both share helpful information I learned about Ubuntu and (a bit more selfishly) give myself a place to post information that I may want to again in the future. The steps to get ItsHidden working on Ubuntu was exactly the what belonged on the site.

Fast forward over two years (to today). I was just looking at ItsHidden's website and noticed that they link to my blog post!



The last bullet point is my URL (without a hyperlink though).

Thursday, May 28, 2009

Mac vs PC: The Misconception

During the last weeks of school, I was having a conversation with my fiancé's roommate, Crystal, about computer operating systems. Crystal is a graphic design major at ISU and uses a Mac. She started the main part of the conversation when she said that she likes her Mac and will never go back to a PC.

I responded by saying, "You mean that you will never go back to Windows, right?" And she said, "Yea, that's right. I will never go back to a PC." From there I started to get really serious as we kept repeating the same lines to each other..."you mean Windows"..."yea, a PC". I tried to explain to her the real meaning of the terms she was using, but I was not getting through. Finally, the conversation ended...unresolved. As I sat there wondering why I was not able to correct her vocabulary, a Mac commercial (from their popular Get a Mac campaign) started on the TV.

As everyone know, the commercial started with the famous line, "Hi, I'm a Mac. And I'm a PC." At this point, it became painfully obvious why Crystal and I were talking past each other. Apple themselves are using PC incorrectly and Crystal is just following their lead. Now, I also enjoy watching these Mac commercials, but it was not until this point that I even realized that they were using PC incorrectly.

PC stands for personal computer. The main entry on Wikipedia for Personal Computer defines the term as (and I am paraphrasing) "any computer the average person uses." Certainly any computer that you have in your home falls into this category. This is clearly not the meaning intended in the Get a Mac commercials since all Macintosh computers are included in this group. Rather, when Apple uses PC, it is referring to a IBM compatible PC in general and the IBM PC specifically. Now it is time for a history lesson.

In 1981, IBM released the IBM PC (model 5150). This computer was so popular, that it redefined the meaning of the previously existing term Personal Computer. Today, when speaking technically, a PC is any computer compatible with the hardware of this computer. There are two reasons why most of the computers of today are compatible with this IBM computer. As previously mention, the first is because this IBM PC was so popular. The second, and possibly the more important reason, is that this original IBM PC used an open architecture. That is, IBM freely released all of the information necessary to go and build the same system for yourself. And guess what? Many, many companies have...probably hundreds...including every company that you have probably heard of, other than Apple.

Instead of following everyone else or going out of business from vastly superior competition, Apple decided to stick with their proprietary architecture of the time and they are still in business today. However, have you ever wondered why a Macintosh is generally more expensive than an IBM compatible PC running Windows? It is not because the hardware is any better or more powerful. It is because Apple is the only one that knows how to make them which gives them an artificial monopoly. Although, some things have changed recently. In 2005, Apple began switching from PowerPC processors to x86 Intel processors. Since then, it is possible to get the Mac operating system to work on IBM compatible PCs.

Now, I have said everything above in hopes that my remaining sentences are as clear as day. Apple is a company. Microsoft is a company. Apple creates and sells the proprietary Macintosh computer architecture. Microsoft is not in the hardware business. Apple creates and sells the Mac operating system that traditionally only worked on the proprietary Macintosh architecture but now also works on the IBM PC compatible, Intel x86 open architecture (as well as two other architectures). Microsoft creates and sells the Windows operating system that works on the IBM PC compatible, Intel x86 open architecture.

The Get a Mac commercials are great. But in their attempts to be concise, they are confusing people. Apple does not care that the lines get blurred, but "Macintosh" is hardware, "Mac" is an operating system (software), and "Mac" can be short for "Macintosh". So when the Get a Mac commercials use the term "Mac" are they referring to the hardware or software?....probably both. However, when talking about a "PC", Windows is the most popular operating system, but Linux also works on a "PC", including my favorite Linux distribution, Ubuntu.

It would be more correct if the first line were, "Hi, I'm a Mac OS. And I'm a Windows," but it certainly does not sound as good.

Tuesday, May 26, 2009

Just What I was Expecting

When 8.10 Intrepid came out, I began the six month wait for 9.04 Jaunty. Of all of the new features, the best...by far...is the new notification system. Sure, it looks cool, but I had an actual use case the it would solve for me. When I download a file in Firefox, I have it automatically saved to the desktop and often switch workspaces (instead of minimizing my current collection of windows) to access the new file. However, when the file finishes downloading, Firefox uses its own notification system to alert me of that fact, and this notification system appears over top of the workspace switcher and is not click-through. One could argue the I should be using some key combination to swtich workspaces. This may be true, but it does not change the fact that the notification system in Firefox is wrong because it is not click-through and Ubuntu's notification system should be used instead anyway. Also, other users less technical than me might face the same use case as me but are not the type to memorize and use key combinations to accomplish their tasks.

Well, since Firefox is so amazing (because of its plugin framework), someone wrote this plugin to trigger the Ubuntu notification system whenever Firefox uses its own notification system. I learned about this plugin about a month ago, but (at the time) the compleation of a download also triggered Firefox's own notification. Then I read this blog post (that I found from Digg) that said that it was possible to turn off Firefox's notification system. I had previous assumed that this was possible, but I also thought that doing this would not allow the plugin to work either. Well, I was wrong, and it makes sense why I was wrong.

So, I was going to share the same informaiton that I read in that blog post about how to turn off Firefox's notification system, but while writting this blog post, I have discovered that the creators of that plugin must have also read it...because the plugin now shuts off Firefox's notifcation for you! So, in conclusion, just install the above plugin and you will have Ubuntu notifications (and only Ubuntu notifications) when Firefox finishes downloading a file.

Thursday, May 14, 2009

Money and Open Source Software

There many benefits to open source software (OSS), but for most people, the main benefit is that fact that the software is free.

In this video entitled "Linux Sucks! (And what can be done to fix it)", Bryan Lunduke discusses areas in which OSS fails to deliver and also provides some possible ways to fix these problems. One of the problems identifed by Bryan was the lack of OSS applications of significant complexity. I agree with that assessment, but his soltion was to fund the development of these complicated applications. Initially, I was put off by this idea. I thought that it would be a bad idea to introduce money into the open source process.

However, I later realized that it is not required that OSS be free of cost in every way. In fact, there are existing examples for which the expenditure of money is required. The examples that I thought of are the first class distributions such as Red Hat Enterprise Linux and Ubuntu as well as the Linux Kernel itself. These distributions have developers that are fully supported by Red Hat and Canonical respectively and several companies support Linux Kernel developers. Everyone would agree that these example of OSS have positively benefited from the involvement of money.

The reason that OSS is such a good idea is that the marginal cost of giving an OSS program to another user is practically nothing and the benefits of more people using the same program are positive. Goods with these characteris are called anti-rivalrous. However, the development cost of OSS still exists. The vast majority of OSS is developed without finacinal compensation, but it does not have to be that way. The video above caused me to think about the possibility of compensating OSS developers for their work.

I now believe that sufficently complicated OSS applications will not be created without paying the developers for their work. Traditionally, various companies have stepped up to supported the work of these developers, but anyone who will benefit from the work of an OSS developer should support them in their work.

Sunday, January 25, 2009

Automated Mirroring and the BitTorrent Protocol

As an avid Ubuntu supporter, I do what I can in my limited amount of free time to help. I submit hardware specs with my live USB drive, submit and comment on bug reports in Launchpad, create and vote on ideas in Ubuntu Brainstorm, my girlfriend gifted a shirt to me from the Ubuntu Shop (it was my idea), and tell everyone I know about this amazing operating system that I use.

There is one more big thing that I do to help Ubuntu; I seed its disk images. Currently, I am seeding the following images:
  1. Jaunty Alternate 64 bit
  2. Jaunty Alternate 32 bit
  3. Jaunty Desktop 64 bit
  4. Jaunty Desktop 32 bit
  5. Ubuntu 8.04.1 DVD 64 bit
  6. Ubuntu 8.04.1 DVD 32 bit
  7. Ubuntu 8.04.2 Alternate 64 bit
  8. Ubuntu 8.04.2 Alternate 32 bit
  9. Ubuntu 8.04.2 Desktop 64 bit
  10. Ubuntu 8.04.2 Desktop 32 bit
  11. Ubuntu 8.04.2 Server 64 bit
  12. Ubuntu 8.04.2 Server 32 bit
  13. Ubuntu 8.10 Alternate 64 bit
  14. Ubuntu 8.10 Alternate 32 bit
  15. Ubuntu 8.10 Desktop 64 bit
  16. Ubuntu 8.10 Desktop 32 bit
  17. Ubuntu 8.10 DVD 64 bit
  18. Ubuntu 8.10 DVD 32 bit
  19. Ubuntu 8.10 Server 64 bit
  20. Ubuntu 8.10 Server 32 bit
That is 26.8 GB of data. I have uploaded 638.0 GB since installing Ubuntu 8.10 and uploaded over 1 TB while using Ubuntu 8.04. Furthermore, I expect my average upload rate to increase since I only started seeding the DVD and 8.04 images in the last few days. (UPDATE: Now I average about 500 KB/s upload and have uploaded 910.6 GB since installing Ubuntu 8.10.)

I am able to achieve these numbers because of my superb Internet connection in my dorm room at Iowa State University. I used SpeedTest.net to measure my connection speed today. Using a server in the Twin Cities, Minnesota (44 ms ping at ~150 miles away), I measured 19,987 Kb/s down and 10,436 Kb/s up (or 20.5 MB/s down and 10.2 MB/s up). I have witnessed uploads to individual leechers at 5+ MB/s.

Even though I have helped out so much in the distribution of files, my Internet connection can upload more and my hard drive can store more files, plus I have to manage (or start) the torrents myself. The Ubuntu site makes it easy to find direct HTTP downloads of the newest images, but it is nontrivial to find all 20 of these torrent files. Moreover, when new alphas or maintenance packs are released, I have to manually get the new torrent files. It would be better if my ability to help Canonical upload were automated.

I wish there was a client-server program that would automate this process. Canonical would run the server version and people like me would run the client version. This program would essentially be a type of a distributed computing program. Normally, distributed programs exist in order to access more computational power. This program would be distributed in order to access more upload bandwidth. On the client side, I notify the server of my existence and specify the amount of disk space I will allocate. Then the server decides what files I should be uploading, which would work much like the BitTorrent protocol where rare pieces are shared first.

All the clients could certainly share their files over BitTorrent, but this program could also allow users to directly download from a client, similar to how mirrors work now. Moreover, this program could work with more than just disk images. In Ubuntu Brainstorm Idea 7792, someone requested that apt-get use the BitTorrent protocol. Going further than that, this program could also help distribute all the software updates and repositories: Main, Universe, Restricted, and Multiverse.

In summary, I want to be able to automatically help Canonical upload any and all files either using direct HTTP or BitTorrent.