Software Licensing facts (Open Source/Proprietary)

There are three main families of free software licenses:
> permissive, weak copyleft and strong copyleft.

Permissive licenses (MIT, BSD and Apache in your list) allow use of your code in proprietary projects without sharing back either their code or your code, if they modified it.

Weak copyleft licenses (LGPL, MPL in your list) allow use of your code in proprietary projects, but they should share back your code under the same license if they modified it.

Strong copyleft licenses (GPL) require that they distribute their own code under the same license (GPL here).

Free and Open Source software doesnt need to be distrbuted for Free
Understand the concept like this: Think of “free speech”, not “free beer” ("Free" means "Freedom" not "Zero Cost")

The word “free” has two legitimate general meanings; it can refer either to freedom or to price. When we speak of “free software”, we're talking about freedom, not price. (Think of “free speech”, not “free beer”.) Specifically, it means that a user is free to run the program, change the program, and redistribute the program with or without changes.



My Open source Electronics hack with TechDuino (which is a clone of Arduino)

Since long time I was looking to buy a Arduino board but because of its bit of expensiveness I wasn't able to get it. But recently I got to know about TechDuino which is a exact derrivative clone of ArduinoUno board. The cost was also nice (LKR 1550) So I quickly went ahead and bought a one. I am so glad about this product and I would say its the "exact clone" of ArduinoUNO board! Quality wise this could be lil bit lower than orginal ArduinoUNO but who cares the quality we only need to get done our work! Thats it right? This is awesome. I wanna say thank you very much and kudos for the TechKatha team (plus Kalinga ayya) who have worked hard to make this electronic gadget.

Well.. here we go.. My TechDuino is shown below.. :-)



Parts of Techduino

Parts of ArduinoUNO

You will need to download drivers and the ArduinoIDE to connect this with computer and program the IC.

On windows there's proper drivers. But on my ArchLinux box I got few problems to get up and running with TechDuino. So here's a workaround to it.
Greyed Serial Port Menu in Arduino IDE on Arch Linux:

Still I am trying to figure out the Arduino programming language (Blinked the LED and tried few crazy LED blinking programs :-D And I believe sky is the limit for this tiny lil electronics prototyping board for a enthusiastic person..cause its powered with TONS of features.

LED Blink Program

  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);    

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(100);               // wait for a second

Arduino Video Tutorial
Get to know your Tools with Arduino CEO Massimo Banzi 

How to RUN a much heavier Java web app top-of AWS EC2 Micro-Instance for almost FREE :-)

 *for DEMO purpose only (not suitable for production)

Amazon EC2 provides Free tire for Micro instances (which is a totally awesome almost free service), So thats a very cheap way to host Java Web App and checkout online! However the some biggie web apps seems like little bit heavier to tolerate on AWS micro instance (with 613MB of RAM) under default configurations. But there's a workaround to make it happen, by adding some more swap space (1GB) to Linux system. Follow the instructions here:

After that do these stuff as well for more safety! (to get rid of: java.lang.OutOfMemoryError: PermGen space issue)

Halo 4 is not for PC, dont get caught for FAKE torrents and Downloads!!

This Torrent gave me damn damn shit two times! yeah its more than 4GB twice = 8GB gone vain! F*** the uploader!!! After the fucking torrent download you will see a "Readme" file on it. Inside you can see a workout you need to get the actually WinRAR pass!! I hate to say, but it took me more than 2-3 hours to do that survey because of that shitty web site with lot of bugs. Finally i got it! yeah i thought all the mess was over, but its not! when i was giving the pass when the RAR promomt me to provide the pass it says password is incorrect!! ohh shit CORRECT password also incorrect, damn this person who have uploaded this shit!

FAKE >>>>

And finally i seek more Halo4PC torrents, and I got to know the "First things First"
There's nothing called Halo4 for PC its only for Xbox, if someone says Halo4 for PC thats fake, fucking some other shit inside on those downloads, so dont waste your time, if you really want to play Halo 4 you need to take a Xbox! well yes thats all, hope this will help for some one, I thought to writeup this cause I know how pain is to download this kind of big torrent and seeing a crappy output.


Installing ArchLinux, Enable Sinhala unicode support and few Troubleshoot notes


After big effort recently i got installed ArchLinux on my Desktop PC. Now its up and running nicely with the KDE desktop environment.

I will describe here few stuff and problems that I faced during the Arch Setup on my real hardware, but i prefer who are interested to try it out on a Virtual machine first! 

This guide helped me alot, its a funny tutorial but all up to the points!

Video Tutorial


few Notes encounter when I was installing Arch on real hardware/OracleVirtualBox

Internet not working after Installing the base system (after you restart)
Thats the effects of 
'systemctl enable dhcpcd@eth0.service' command

Regardless, the correct command now is:
systemctl enable dhcpcd.service

Configuring pacman

The SigLevel option in /etc/pacman.conf determines how much trust is required to install a package.

If you get some problem like:

open pacman conf and edit
SigLevel = PackageRequired >> SigLevel = Never

Guide to install Sinhala Unicode Font

Download and Install lklug.ttf Sinhala Unicode font file
sudo pacman -S wget
sudo wget -P /usr/share/fonts
Then Run the following command
fc-cache -fv
And proceed to the below steps..

Enabling Sinhala Locale

Edit /etc/locale.gen. Uncomment following line
si_LK UTF-8
Run following program
Immediately you'll be able to read Sinhala Unicode in your programs (If not You may need to restart the relavent programs. eg: Firefox)