Fix unknown ca error in apache SSL


I have a PHP application with apache and SSL.

It was failing on authentication.

The ssl error logs were as below

AH02008: SSL library error 1 in handshake
SSL Library Error: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca (SSL alert number 48)

The apache ssl configuration was fine as below.

SSLCertificateFile Certificate file path
SSLCertificateKeyFile Key file path
SSLCertificateChainFile Intermediate bundle path

I tested the SSL with the site – https://www.sslshopper.com/ssl-checker.html

It reported as below

The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate. Learn more about this error. You can fix this by following GoDaddy’s Certificate Installation Instructions for your server platform. Pay attention to the parts about Intermediate certificates.

The intermediate certificate, aka bundle file may be an issue.

To verify it, ran the following commands.

openssl verify /etc/ssl/certs/cert.pem

gives me the following error:

error 20 at 0 depth lookup:unable to get local issuer certificate

We have to give the path of the intermediate CA certificate to verify the pem file.

openssl verify -CAfile /etc/apache2/ssl.crt/sf_bundle-g2-g1.crt /etc/ssl/certs/cert.pem

It gave the error as

Error loading file /etc/apache2/ssl.crt/sf_bundle-g2-g1.crt

It seems that there are some issues with sf_bundle-g2-g1.crt

I downloaded a fresh sf_bundle-g2-g1.crt file from GoDaddy site.

https://certs.godaddy.com/repository/
https://certs.godaddy.com/repository/sf_bundle-g2-g1.crt

and placed in /etc/apache2/ssl.crt/

Now the command works fine.

openssl verify -CAfile /etc/apache2/ssl.crt/sf_bundle-g2-g1.crt /etc/ssl/certs/cert.pem
/etc/ssl/certs/cert.pem: OK

And now, the web application can allows the users to login.

Thanks to the following links.

http://w3facility.org/question/trouble-connecting-to-ssl-encrypted-web-service-with-php/
http://www.herongyang.com/Cryptography/OpenSSL-Certificate-Path-Validation-Tests.html
http://stackoverflow.com/questions/26260445/openssl-unable-to-get-local-issuer-certificate-debian
http://serverfault.com/questions/582438/how-to-verify-signed-certificate
https://www.sslshopper.com/ssl-checker.html
https://certs.godaddy.com/repository/
http://serverfault.com/questions/655995/roundcube-postfix-smtp-ssl-routinesssl3-read-bytestlsv1-alert-unknown-cas3

How to fix Genymotion in Ubuntu 14.04?


Genymotion is a free emulator for android os.

I downloaded it from https://www.genymotion.com and installed it in ubuntu 14.04

To install it,
cd <DOWNLOAD_DIR>
chomod +x genymotion-<VERSION>_<ARCH>.bin
./genymotion-<VERSION>_<ARCH>.bin -d <HOME_DIRECTORY>

To run

cd <HOME_DIRECTORY>/genymotion
./genymotion

It should open a window and ask for adding new device.

But for me, it is not opening.
The command exits and shows the shell.

It logged the activities at
Logging activities to file: ~/.Genymobile/genymotion.log

It displayed the error message as

Cannot mix incompatible Qt library (version 0x40806) with this library (version 0x40802)

Searched net for a solution and sharing it here.

Source : http://askubuntu.com/questions/534415/cannot-mix-incompatible-qt-library

1 – Installing the libs:

apt-get install libxi-dev libxmu-dev

2 – (Re)Moving the Qt libs inside the Genymotion installation directory

mkdir QtLibs && mv *Qt*.so* QtLibs

This last command will make Genymotion use the system’s Qt libs.

Then, ran ./genymotion

Now it opens the window and can add new virtual android devices.

Thanks for the askubuntu community.

How to become a Software Tester?


Are you looking for a job as Software Tester?

Here are few thoughts on software testing.

  1. Get Knowledge and skills
  2. Learn the Concepts
  3. Learn the Testing Tools
  4. Learn a programming language
  5. Dont dream about playing games. Instead play any game
  6. Contribute to Open Source Software by Testing them
  7. Join Testing groups
  8. Write a blog
  9. Add all these things to your Resume

1. Get Knowledge and skills

Knowledge, skills and experience need not be gained only by taking up a job. We can grow these ourselves, Right?

What do most people say? “Give me a job. Then, I will learn all that is required. After that, I will grow my skills.” True.

Let us say, you buy a car to travel out of town with your family often. You are looking for a good driver. I have come for an interview. I have attended driving classes. But I do not have any experience.

“I have completed training. I have a certificate. But, I do not have experience. Give me employment. Let me have your new car. Give me training for a few months. Once I have learnt it well, I will drive your family wherever you want.”

If I say this, will you hire me? But, this is what you say to the companies.

For learning how to drive a car, you need a car that costs lakhs of rupees. But for learning computer skills you can use the computer you already have.

In cricket, if someone is not scoring runs, even if it is Sachin, we get annoyed. We expect them to score continuously and hit fours and sixes frequently. However, we dont do any useful things using your computer, but will listen to music, watch films, play games and keep chatting with your friends on social media. How is this justified?

2. Learn the Concepts

Software Testing is a vast industry. It has many concepts as

  • Test Cases
  • Test Results
  • Bug Tracking
  • Test case Tracking
  • Manual Testings
  • Automated Testing
  • BlackBox Testing
  • WhiteBox Testing
  • Functional Testing
  • Database Testing
  • Performance Testing
  • Unit Testing
  • Mobile Testing
  • Web Testing
  • GUI Testing

    and more.

There are many websites/books/presentations/videos/lessons available on Internet.

Learn about them.

3. Learn the Testing Tools

To implement all the above said testing concepts, there are many software/tools available.

Few software or so costly to buy.

Dont worry. There are equivalent Free/Open Source Software available for all the needs.

Test Case Management – Test Link and others.

see a big list here – http://www.opensourcetesting.org/testmgt.php

Bug Trackers – BugZilla, Mantis, Trac etc

Automated web testing – Selenium

GUI Testing – Sikuli.org

Performance Testing – JMeter

You can find all open source testing software here – http://www.opensourcetesting.org/

They all are 100% free. Download them and install in your computer and learn them.

4. Learn a programming language

Being in the Software Industry, we should know atleast one programming language.

I suggest “Python”. It is very easy/cross platform language.

We can do many automated/web/mobile/gui testing using Python.

Learn Python the Hard Way is the easiest book.

http://learnpythonthehardway.org/

Complete this one book alone.

It may few weeks only to complete this.

Google’s Python Course (with Lecture Videos)

https://developers.google.com/edu/python/

5. Dont dream about playing games. Instead play any game

Dont wait for getting a software tested job for doing testing.

The job of a cricket player is to practice regularly and display their talent. Nobody says, “Include me in the Indian cricket team! Then I will learn the game and then I will play well and after that I will win cups for the country.”

To become more skilled in cricket, you have to take the bat / ball and practice. For It Industry, it is enough if you practice with the computer you already have. To learn software testing all you need are a computer and internet connection.

Learn the concepts, Install the software and start testing the software you use daily and find bugs.

6. Contribute to Open Source Software by Testing them

There millions of Free/Open Source Software being developed. They all are looking for testers to find bugs, so that developers can improve them.

You can contribute by reporting bugs, confirming existing bugs, writing test cases, automated tests, etc.

Whatever the corporates are doing for testing their software, can be done for open source software too.

On any open source project website, look for “community/contribute by testing”.

They will give all the details on how you can contribute to that project by testing.

In a continuous effort for 3-4 months, you can become a QA team member of any big open source project.

That will become a great crown on your heads.

Ubuntu Linux –

https://wiki.ubuntu.com/QATeam

http://community.ubuntu.com/contribute/quality/

Mozilla –

https://quality.mozilla.org/

https://quality.mozilla.org/get-involved/

LibreOffice –

http://www.libreoffice.org/community/qa/

Fedora Linux –

https://fedoraproject.org/wiki/QA/Join

MediaWiki –

https://www.mediawiki.org/wiki/Quality_Assurance

Read these links too

http://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/

http://www.infoworld.com/article/2860074/open-source-software/become-an-open-source-software-tester.html

http://programmers.stackexchange.com/questions/58850/open-source-is-testing-bug-reporting-a-major-contribution

Pick any of your favourite open source software and become its QA team member.

7. Join Testing groups

Search for local testing groups/communities.

Attend the meetings.

Have testing events.

If there is no group, start one and do some activities.

8. Write a blog

Write about everything you worked on in your blog. Write everyday without fail. Your blog will become your best Visiting Card.

9. Add all these things to your Resume

Add to your Resume your blog address, the list of Open Source software you are contributing to and all the skills you have.

Read these too

https://goinggnu.wordpress.com/2014/08/26/how-to-get-a-computer-science-career/

Wishes.

Reply here, if we can add any more stuff in this post.

Thinking for a Hacker Space in Chennai


Chennai is becoming the hub of events.

There are many tech communities, meetup groups, social friends group etc conducting regular events.

Check the Event calendar of Chennai
https://chennaieventscalendar.wordpress.com/calendar/

All the weekends are filled with events.

Once meetup.com became free, there are groups started for most of the

software in the industry.

But, many groups cannot make the events as they could not find the venue.

Option A:
=======

Thinking a Hacker Space kind of venue, where any user group can conduct their events.

https://en.wikipedia.org/wiki/Hackerspace

The following are the ideas :

1. A small home in a accessible venue in chennai

2. Any user group can conduct the events for free

3. Venue can have broadband and Projector/LCD TV

4. Table/Chairs can be there or can be rented

How to generate money?

1. Donations should be collected to give the rent

2. Startups/Individuals can be use this venue as co-working space in the week days for a very lower cost

3. or one or two persons can stay there to share the major part of the rent/expenses.

4. Paid workshops can be conducted with cheaper cost.

Option B :
=======

There may be some startups/organizations who may be willing to give free space conducting events.

We can collect their details and share in a public site.

Any community that wants a venue can contact them and use the space.

Please share your inputs on this.

New Open Source Text to Speech system for Tamil


Prof. Vasu Renganathan, Univ Pennsylvania, Philadelphia, USA, has released his Text to Speech for Tamil language as Open source.

Get the source at :

https://github.com/vasurenganathan/tamil-tts

See in action:

http://www.thetamillanguage.com/tamilnlp/speak/

http://www.thetamillanguage.com/tamilnlp/speak/listentome.html

http://www.thetamillanguage.com/tamilnlp/speak/url_talk.php?url=

It is written in php.

There are many open source TTS systems available as espeak, Festival, CMU Sphinx  etc.

But they work fine for English only. A new system is needed for Tamil.

Myself and my brother Arulalan are trying to build a TTS system using python.

He wrote script to convert tamil text to IPA.

http://tuxcoder.wordpress.com/2014/08/02/release-txt2ipa-converter-v0-1/

https://github.com/arulalant/txt2ipa

The next step is to record audio for each symbol and play with python.

In the meantime, the TTS by Vasu gives a great enlightenment on text and sound processing,a s it has all the sound files and code to process text, map to sound files and stitch as a word etc.

We will port it to python soon.

This is not a very perfect TTS.
Many things have to be improved.

  • There is little gap between letters.
  • Need few more gap between sentences.
  • Need more voices.

We can add all these features as we have the source now.

Please check the code and explore a how TTS works.

Reply here if you are interested in improving Tamil TTS System.

Thanks.

Thanks for prof.vasu for open sourcing his nice works.

How to fix wireless problem in Lenovo z50 in ubuntu 14.04?


In my  Lenovo Z50 laptop, wireless is not working in Ubuntu 14.04.

My laptop has RealTek RTL8723BE Wireless adapter.

The wireless is not even displayed in the network settings.

Installed Ubuntu 14.04.1 as it has the latest kernel updates for wireless drivers.

The wireless works now, but it has very frequent disconnection.

Then, found the link

http://ubuntuhandbook.org/index.php/2014/08/install-upgrade-linux-kernel-3-16/

which says Linux Kernel 3.16 fixes all the issues.

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb

sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

Ran the above commands and upgraded Linux kernel to 3.16 version.

Now, the wireless is working perfectly.

Thanks for the Linux Kernel team and ubuntuhandbook.org team for the great works.

INFITT 2014 – International Conference for Tamil Internet


Home

INFITT is an international organization which connects, Tamil Scholars, Government, IT Professionals and Public.

Every year it conducts “Tamil Internet Conference”. One time in India and Next time in any other country. This year “Tamil Internet Conference 2014” has been conducted in Pondicherry on Sep 19,20,21 2014.

Latest_INFITT_LOGO_2014_2_small

This was my first participation to a INFITT conference.

100 papers were presented from the scholars from 9 countries.

It was a great place to meet most of the Scholars in Tamil.

Around 50 scholars came from Malaysia for this conference.

So happy to meet my Malaysian friends after a year.

I presented a paper on “Open-Tamil” a python library for processing Tamil Text.

Here is the paper

https://docs.google.com/document/d/16PGCQxO-yx8h1JGqOo-YY7Sb2sz3D5YyV_PbaYPlwYU/edit?usp=sharing

Here is the presentation

http://www.slideshare.net/tshrinivasan/open-tamilpresentationta

Sibi from fsftn gave a talk on “Introduction to OCR using Tesseract”

My friends BalaVignesh and Arthi BalaVignesh are researching on OCR using Tesseract.

They are building a web application for training Tesseract for Tamil Text. They gave a talk on their research.

There were many talks in various topics like Fonts conversion, Text to speech, mobile application development, Spell Checker and more.

ElanTamil from Malaysia explained their work on Tamil SpellChecker using hunspell and Grammar Checker using LanguageTool.

Most of the talks were pure academic and there were not much demonstration on practical implementations.

There are tons of research happening on Tamil Computing, Linguistic areas. But the sad part is no one is ready to share their works for public.

Many Universities run funded research on various topics, but they are not ready to share their works.

OCR, Text to Speech, Annotated Corpus, Speech to Text, Spell Checker, Grammar Checker are the highly required softwares. People are asking for them for more than 10 years.

There are many academicians did funded research by universities on these areas and created some working products with the help of their research students. After they retired they package their products and selling them.

As they see that not many people are interested in buying their products, they expect government to buy their software and distribute to all public for free.

I had a discussion with the participants asking for releasing their software as Free/Open Source Software.

But, most of them are not ready for this. They had huge fears on this. If they open source their works, they fear that some big company will take their works, sell and see huge gains.

They really had huge research and created few working software. If I have to create similar software, I have to invest more then 10 years of research, which is impossible.

If they opened their research result and their working software, many people can jump in the Tamil Linguistic area and improve their software.

There are many open source developers are ready to contribute for Tamil. But as we don’t know from where to start, we stand still on the starting point itself.

The existing software sellers, ex professors are not ready to share their works.

They keep on telling that “I have spent 20 years of research on this. Why I have to give it for free? Why I have to open source it? I have to take back the huge revenue for my works.”

They all forget that they got paid for their research works by universities, i.e by public. It is their duty to release their works for public.

I agree that if a company invests huge money and creates some software for tamil, it can sell it and expect the ROI. Even it can sell the closed source software. If the software is really useful and working perfectly, people will buy it for sure.

But these Ex Professors build their products based on their universities fund. The universities should own these software and release to public as Free/Open Source Software. But, these universities are not aware of this truth and these professors sell their works.

This is the great loss for Tamil Computing and Tamil People.

English and other languages are having great software as most of the linguistic research by their universities are released as open source.

Thats why English has so many software available.

I dont know how many decades it may take for Universities to release their tamil research works as open source.

Till then, let us leave these ex professors worrying and wondering on why their software are not, selling.

I dont know what will happen to their hard work and software, after their lifetime.

It is a happy news that few young open source enthusiasts started working on Tamil Software.

There is open-tamil python library for processing tamil text. It can convert 25 types of Tamil Encoding to Unicode. It has tamil to IPA conversion, which is a base for Text to Speech conversion.

Tesseract is being used for Tamil OCR development. Libreoffice got spellchecker and grammar checker.

I hope we can get more contributors for these projects. If they grow well, Tamil will get great open source software.

Apart from these thoughts,

Good stuff about this conference:

  • Met many good contributors for Tamil Computing.
  • Many papers gave new ideas for new open source tamil software development.
  • Co-ordination was good for the talks.
  • Food was nice.
  • The Dinner Treat given by CM was awesome.

Things to improve:

  • Make the Conference free for the audience. So that interested people around the city can participant. The current models enables only paid members to talk and hear the talks.
  • When there are three tracks, place the notice boards and banners to show, the track, talk, and time details.
  • Add the Table of Contents in the Conference book.
  • Release the conference book in creative commons license.
  • Do something more than yearly conference.
  • To increase membership, explain the benefits of members in the website.

I received Rs 5000 Cash Prize for the works on Tamil computing like www.kaniyam.com and www.FreeTamilEbooks.com by Prof.C.R.Selvakumar, Waterloo University, Canada.

Thanks sir for the recognition. This reminds me that I have to do more and continue these projects. These projects are being driven by great volunteers around the globe. I dedicate all the praise and prize to all the volunteers.

20140921_180457

The next conference will be in Singapore.

Hope we can create more open source software for tamil to talk in next conference.

How to make the brightness buttons work in Lenovo Z50 laptop?


I have a Lenovo Z50 laptop with ubuntu 14.04 installed.

The brightness control buttons are not working.

Searched net for this and found solution.

http://itsfoss.com/fix-brightness-ubuntu-1310/

http://askubuntu.com/questions/57236/unable-to-change-brightness-in-a-lenovo-laptop

Here is the fix:

Open a terminal and create the following configuration file, if it does not exist:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

Now we need to edit this file. You can use any editor be it a terminal one or graphical.

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

Add the following lines to this file:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"

EndSection

Save it. Log out and log in back.

It is working fine now.

Thanks for the itsfoss team and stackoeverflow contributors.

Chennai events calendar – from google calendar to wordpress post via facebook event


Chennai is the hub for the events.

There are many sites like meetup.com , eventbrite.com to create and announce events.

But, the events stay there unnoticed, unless we visit the sites.

An interesting meeting may be happening tomorrow. We will be missing it without getting any info about that.

I started a shared Google calendar to solve this problem.
People can subscribe this calendar and get notifications via sms and email.

Visit the calendar here.
http://chennaieventscalendar.wordpress.com/calendar/

Public iCal : https://www.google.com/calendar/ical/6ppkf92sp3one0i7al7inkahm8%40group.calendar.google.com/public/basic.ics

Add the above link in your Calendar Application.

To Add this in your Google Calendar: http://chennaieventscalendar.wordpress.com/subscribe/

To get Events notifications via Email and SMS : http://chennaieventscalendar.wordpress.com/email-sms-notification/

How to add events : http://chennaieventscalendar.wordpress.com/how-to-add-events/

Email to tshrinivasan AT gmail.com for Volunteering to add the events in this Calender.

You can volunteer to add the events in chennai. Currently we limit the scope of the events to computer technology, tamil, literatute, photography, nature, trekking etc.

Now, added two more features.

1. Facebook event creation from google calendar.

Using the site http://zapier.com, connected google calendar, facebook page for events and wordpress posting the events.

Like this page : http://facebook.com/chennaieventscalendar
To know the events.

2. WordPress blogposts for the events.

Site : http://chennaieventscalendar.wordpress.com

You can subscribe to email notifications for the events too.

Thanks for the Zapier team for providing the awesome services to connect different websites and portals.

Book Review : i want 2 do project. tell me wat 2 do.


shak_bookcover.png

The book “I want 2 do project. tell me wat 2 do.” is an excellent guide for any student to get into the Free/Open Source Software world.

The students have tons of queries when asked to do a project, themselves. Though they know the basics of few programming languages, they usually don’t do any programs themselves. They just copy/paste from others and found it is very difficult, when they have to do some programming themselves.

This book encourages the students to self learn new things and make their hands dirty with programming.
This is not a book to teach any language. All the programming books stop with teaching programming.
But this books begins from where they stop.

Students need to learn many stuff after programming. The communication with others and self discipline are the key strengths they should have. This books explains them well.

Shakthi Kannan, explains the following concepts

  • Mailing list guidelines
  • Programming language guidelines
  • Contacting mentors
  • Logging learning activities
  • The problems on continuous learning and how to overcome them
  • how to create and do presentations
  • how to concentrate on the basics
  • Various phases of Computer Science Skills
  • The Tools available for project development and contribution
  • Keep on growing the projects
    and more.

I recommend this book for all the computer science students. Learning does not stops with college. If you are working and interested in contributing to Free/Open Software, this book is for you. Start with this book, follow all the tips and guidelines. You will become a rockstar contributor for your favourite Free/Open Source Software.

Teachers are the big inspirations for the students. I recommend this book for all the lecturers/professors to read and contribute for any Free/Open Source software, ask their students to contribute.

The quotes in each chapter are much impressive. They show the hard work behind finding them and placing in proper places. The friendly writing style makes the book, easy to read and follow.

You can buy the book at the following links.

Pothi : http://pothi.com/pothi/book/shakthi-kannan-i-want-2-do-project-tell-me-wat-2-do

Amazon.in : http://www.amazon.in/want-project-tell-wat-do/dp/9351741877
Flipkart : http://www.flipkart.com/want-2-do-project-tell-me-wat-do-english/p/itmdx7wv2qhn8zvx

Thanks Shakthi Kannan for the wonderful book.