Sep 29, 2011

VMPlayer: Booting from USB Flashdisk

Posted Sep 29, 2011

Booting from USB in VMPlayer turned out to be not as straightforward as I thought.  After some digging, found the solution in the article from The Holy Java article. Take note that this document does NOT teach you how to install Linux in a bootable USB; that's for another blog.

1. Download PLoP
2. Unzip the plpbtin.iso from plpbt-5.0.13/install to a folder
3. In VMPlayer, create new Virtual Machine and point the installer disc image file to the extracted plpbtin.iso
4. Run the VM and choose install all upon boot
5. Restart and choose USB when prompted with options

That's it! I was able to boot my Macpup 528 from my USB flash drive.

Issue(s) Encountered
1. USB was not detected
When you create your VM, there should be a USB in the hardware settings. By default if you choose Linux as your Guest Operating System and choose Other Linux 2.6 for the version, USB will be automatically detected. My mistake was to choose "Other" for the OS and Version which didn't include USB.

2. Still can't detect USB when booting
When you start the player, do the ff as shown in the image:
Virtual Machine -> Removable Devices -> Alcor Micro Mass Storage Device -> Connect

Sep 27, 2011

Using LGPL or Creative Commons (CC) License in Commercial Software

Posted Sep 27, 2011
I'm working on a side project and I needed to find an existing software library that does something I need. I've got tons of options, the only problem is the license agreements. There are different types of licenses out there and it is imperative that we are aware about the agreement when we use 3rd party software in our applications.

Before we go to LGPL, a bit of GPL first. GNU General Public License (GPL) in simple terms states that should you decide to release or sell a program that includes a work or software with GPL, you should also release the source codea of your entire work and license them under GPL. It's worth noting that if you do not release your program, i.e. you use it privately or internally, you are not obligated to release your source codes publicly even if you include GPL'd libraries.

The viral nature of this license is a big turn off to the software corporations because of the potential loss of intellectual property. In my opinion, GPL is almost like a religion; for a person to advocate it, he/ she should truly believe in its goal with a bit of forcing others to do the same thing. It's not a bad thing though, but a bit idealistic. From GPL FAQ: The goal of the GPL is to grant everyone the freedom to copy, redistribute, understand, and modify a program. If you could incorporate GPL-covered software into a non-free system, it would have the effect of making the GPL-covered software non-free too.

For more information regarding GPL, you can read the entire document here.

With the strict rules of GPL, LGPL aims to make it more "friendly" by adding "L" in LGPL which ironically means "Lesser".  The main difference between GPL and Lesser GPL is that it allows non-free applications to link with LGPL software without being forced to release the entire source code.

Specifically in web applications, it is easier to use LGPL because of the concept of libraries where you can just link them to your work without having to modify the existing GPL library. For client-side software like Javascript where files can be linked to HTML without the need to modify the 3rd party software. Likewise with server-side programming e.g. in Java libraries which are still separated from the main code.

Read the entire LGPL document here.

Creative Commons (CC)
CC is another type of license or licenses which basically differentiate itself with the focus on attribution.  You need to somehow attribute the author when you use his/ her work. For example when you create a website / application, it should be written somewhere that you used the author's work in order; this is to comply with the license agreement, although this can be bypassed with the consent of the author.

Read the different licenses under Creative Commons here.

It's still best to use MIT, BSD, and Apache licenses for commercial / closed source software.  It's free, free as in beer with no legal liabilities and nothing much to think about, but do consider giving donations when you find it useful. But when using other licenses such as LGPL and CC, it's not always straightforward. It's a case to case basis, other companies use LGPL software, others strictly avoid it.

When you're not sure, it's best to consult higher authority or a lawyer to avoid legal consequences. Personally as a Freelancer, I use LGPL when needed, but opt to MIT, BSD or Apache license when there's alternatives.

Sep 26, 2011

Ruby on Rails 3.1 Released!

Posted Sep 26, 2011
Last 30th of August, Ruby on Rails 3.1 has been released which includes whole new set of features. It's more like a version 4.0 in my opinion with the major changes incorporated. For more information on the changes,  read the Ruby on Rails blog article.

I'm still testing the waters With regards to this framework, and so far so good. Maybe this is a good time to invest time and energy in learning this new web framework. Big fan of Don't Repeat Yourself (DRY) and Convention over Configuration principles, which lead me to two new frameworks Ruby on Rails (RoR) and Grails (which is like Rails for Java).

Haven't used either frameworks in real-world applications but I have a client that's interested in using a new framework so I might recommend that we use one of them. If you're interested in these frameworks, I'd suggest you give it a try and download them in their respective websites: