Project Ideas – Part 2 – Looking for contributors


Here are few more project ideas.

1. mobile/web app to record voice for wikisoure – Show a word, record it, upload to commons, link back to wiktionary.

2. mobile/web app to record audio books  – FreeTamilEbooks needs audio books too

3. wordpress to android app convertor – Why cant we convert a wordpress site as android app with RSS feeds?

4. epub to apk convertor – Let us publish ebooks as mobile apps too.

5. blog to epub convertor – fix, add images
https://github.com/sathia27/blog2ebook
Add a feature to download images and add them to ebooks.

6. Daily mobi files for tamil newspapers
Crawl newspapers daily, make mobi, send them to kindle in email daily.

7. Send to kindle – feature for FTE
Add Send to kindle feature to FreeTamilEbooks.com site

8. Lime survey – SAAS – alternate to google forms
Explore limesurvey and make it as alternate for google forms.

9. Collect politicians info and release as app, site

How can we collect all politicians details as education, assets etc and publish for public?

http://tshrinivasan.blogspot.in/2015/12/how-to-collect-details-of-TN-politicians.html

10. setup ELK for tamil literature search, build a search engine on top of it

Explore using ElasticSearch and Kibana for Tamil Text analysis.

11. fix android app to record audio for wiktionary –

https://github.com/Atul22/wikiAudio
done at https://meta.wikimedia.org/wiki/WikiConference_India_2016/Chandigarh_Hackathon

12. Analyse tamil tv/radio show audio, find how many english words are used/hour
This paper may help
https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
https://mail.python.org/pipermail/chennaipy/2017-March/001429.html
Contact Ganesh for python implementation of this algo

13. gui for voice record/upload – wiktionary

https://github.com/tshrinivasan/voice-recorder-for-tawictionary

This needs a GUI version for windows users

14. gui for csv uploader

https://github.com/tshrinivasan/tools-for-wiki/tree/master/csv-uploader-wiktionary

This needs a GUI for windows users

15. gui for open-tamil font convertor

https://github.com/Ezhil-Language-Foundation/open-tamil

Need a web application or GUI for all features of open-tamil

16. mobile app to teach tamil – pollachi nasan

http://tshrinivasan.blogspot.in/2015/03/blog-post_9.html

17. wiki massuser create

Sometimes, we need to create 100s of users on wikipedia, for any training/event. Currently, only 6 users can be created. Admins can create multiple users, one by one. Automate this process using mechanize and beautifulsoup.

18. OCR4wikisource web version using google vision api

Rewrite https://github.com/tshrinivasan/OCR4wikisource with google vision api and give a web interface.

19. create a command line TTS from the source of a mobile TTS app.

Here is a open source TTS mobile app for tamil.

http://www.iitm.ac.in/donlab/tts/androidapp.php

Register and download the source and apk.
The voice named “Naveen” is good.

There are many c files in the folder
SSNFlitehtsTamil/app/src/main/jni

Can you compile those files and give a binary file as a command line tool?

Explore these code and share your thoughts on how to convert this as a
desktop/command line application so that we can use it in our
computers.

20. Create a GUI app for bulk photo uploader for http://commons.wikimedia.org

https://github.com/tshrinivasan/mediawiki-uploader

How to run apache and ngnix in same server?


I wanted to run a rails application and wordpress in a same amazon ec2 server.

Rails app on example.com
wordpress blog on blog.example.com

Added a CNAME blog.example.com to example.com in the DNS settings.

Enabled port 22,80,443,3000 on amazon ec2

To enable port 80

Login to http://aws.amazon.com/console/ and goto EC-2
Go to the Security Group settings in the left hand navigation
Find the Security Group that your instance is apart of
Click on Inbound Rules
Use the drop down and add HTTP (port 80)
Click Apply and enjoy

Rails application and WordPress in LAMP are already running in the server.

Here is the ngnix configuration:

File: /etc/nginx/sites-enabled/example

upstream unicorn {
server unix:/tmp/unicorn.nabthat.sock fail_timeout=0;
}

server {
listen 80;
server_name example.com;

root /home/ubuntu/apps/nabthat/current/public;

return 301 https://$host$request_uri;

if ($http_user_agent ~ “Purebot|Lipperhey|MaMa CaSpEr|libwww-perl|Mail.Ru|gold crawler” ) {
return 403;
}

location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}

try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}

error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}

server {
listen 443 ssl default_server;
ssl on;
server_name example.com;

root /home/ubuntu/apps/nabthat/current/public;

ssl_certificate     http://www.example.com.chained.crt;
ssl_certificate_key http://www.example.com.key;
ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}

try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}

error_log    /var/log/nginx/example.com.error.log debug;

error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}

ssl_session_cache  builtin:1000  shared:SSL:10m;

—————

The above configuration makes nginx to listen on port 80 and 443

Now, let us add the configuration for wordpress blog served by LAMP on port 3000

File : /etc/nginx/conf.d/blog

server {
listen 80;
server_name  blog.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
proxy_set_header Host $host;
}

————

To run apache on port 3000, change the file /etc/apache2/ports.conf

File: /etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
Listen 3000

————–

File : /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:3000>

ServerAdmin webmaster@localhost
DocumentRoot /var/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www>
#Options -Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

</VirtualHost>

——————–

Now, the rails app is running fine on http://www.example.com
but, if we access blog.example.com it is not redirecting to wordpress blog.
it redirects to same rails application.

To debug this, I stopped the ngnix server.

sudo /etc/init.d/nginx stop

Now, only apache is running.

let us access it using console browser links, inside the server itself.

links http://localhost:3000

got the the following error.

can not connect.

To test the internals, tried with wget

wget http://localhost:3000
–2014-02-20 10:35:03–  http://localhost:3000/
Resolving localhost (localhost)… 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:3000… connected.
HTTP request sent, awaiting response… 301 Moved Permanently
Location: http://localhost/ [following]
–2014-02-20 10:35:03–  http://localhost/
Connecting to localhost (localhost)|127.0.0.1|:80… failed: Connection refused.
Resolving localhost (localhost)… 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80… failed: Connection refused.

Got this weired error.

I dont know how the port 3000 is automaticaly redireced to port 80.

After a deep research, found the following.

LAMP is running wordpress.

In its setting->general, the WordPress Address (URL) and Site Address (URL) are defined as http://blog.example.com

When the browser contacts port 3000, it reaches http://blog.example.com only, which means port 80.
Hence, the 301 redirect happens.

To solve this, we have to make WordPress Address (URL) and Site Address (URL) as http://blog.example.com:3000

To change the Site Address of an existing wordpress blog,
add the following entries in wp-settings.php

define(‘WP_HOME’,’http://blog.example.com:3000&#8242;);
define(‘WP_SITEURL’,’http://blog.example.com:3000&#8242;);

That’s all.

Now, if you access http://blog.example.com:3000
the wordpress blog works fine.

Thus, I managed to run rails app (example.com) and wordpress blog(blog.example.com:3000) in a same amazon ec2 server.

WordPress Meetup at Chennai on March 4, 2012


WordPress Meetup:

WordPress meetup is a discussion on how development with WordPress can be done and how it can be used to develop websites/web apps. Following topics have been planned to be discussed

WordPress architecture overview
Plugins/Themes development overview (can try if Live coding is possible)

Date :
Sunday, March 4, 2012

Time:
1:30pm until 3:30pm

Venue :
The Startup Centre
#45 Montieth Road
Alsa Mall, S-4, Second Floor,
Egmore, Chennai – 600 008

About the organizer:

Sathish.N
Director & CEO
SNR Technologies Private Limited
Website : http://www.snr-technologies.com
Email : sathish AT snr-technologies DOT com

He runs a web consulting firm, SNR Technologies. He also runs a event ticket sales portal for event managers. He is a web developer by experience with hands on experience building web applications and working with open source technologies. He would like to call himself as a WordPress Evangelist as he sees it to be a strong development framework in near future.

He was speaker at WordCamp Jabalpur. WordCamp is a conference on WordPress.

All are welcome.
Entry Free.

ILUGC Monthly Meet (December 10 th)


ILUGC Monthly Meet (December 10 th):-
==============================

Time : Sat December 10 , 2011 (3.00 – 5.30 PM)

Venue: Classroom No 8,
Areo Space Engineering,
Near Gajendra Circle,
IIT Madras.

Link for the Map: http://bit.ly/iit-aero

1.

Topic: Introduction to CakePHP

Description: CakePHP is a rapid development framework for PHP that
provides an extensible architecture for developing, maintaining, and
deploying applications. For more info: http://cakephp.org/

Duration: 30 Mins

Speaker: Sathia Narayanan.S, Web Developer works for CloudMint
he blogs at http://sathia27.wordpress.com and http://lquery.com/

Contact : “Sathia”  <sathia2704 AT gmail DOT com>

2.

Topic:  Introduction to using WordPress as a CMS

Description: WordPress, a well known blogging platform, is also
evolving as a user friendly CMS. 14.7% of sites online are powered by
WordPress. This talk will give a brief introduction about using
WordPress as a CMS.

Duration: 30 Mins

About the speakers: Ravishankar. A and Logesh Kumar. R are WordPress
developers at Ravidreams.com

Contact : Ravishankar <ravidreams AT gmail DOT com>

Links to read: http://wordpress.tv/2011/08/14/matt-mullenweg-state-of-the-word-2011/

3.

Topic: Securing Linux Servers using iptables firewall

Description:
This talk contains the information on how enhanced the security in Linux systems are and security achieved through Linux Firewalls Using iptables. speaker will describe on how the iptables work and how to implement it in different ways to achieve a better security.

Duration: 30 Mins

About the speaker:
Chakravarthy is working in CollabNet for over one year as a Technical Support Engineer for Subversion. He have finished RHCE now and more interested in the open source. This is his first talk and first community meet.  He would love to contribute his part to the Open source.

Contact : Chakravarthy  <schakravarthy36 AT yahoo DOT com
 

4.

General group discussions on any queries, events etc.
CDs/DVDs can be shared on prior request.
Announce this to all your friends, social network sites etc.

All are welcome. Entry Free