Wednesday, March 21, 2012

Dive into the Web world, story from a C++ Programmer

I started my career as an Intern writing shell scripts for a company name Aplion Networks. They hired me to write a Web-Based Element Management System. Since that was to be hosted on a small router which had 32Mb of memory (VxWorks), I contributed to write library/module to help other C programmers for efficient parsing of xml data.

Since there was no front-end designer, I was asked to write a javascript to parse the xml data and rendering the html on screen. That was my first and last tryst with the web.

You can't actually even count it as any web-experience but it did taught me a lot of things. Soap was still in discussion in w3c at that time and we had written a RPC framework to query for conifguration data (in xml, using a hidden frame) from each modules running on the router. This RPC framework was more or less like SOAP which became the standard later.

With change of job, came the world of C & C++ and my application development was restricted to this technology. However, lately I wanted to give shape to my research that I've been doing in NTU.

So what does it take for a C++ programmer to be a website designer and owner?
And where shall I start from?

Well, there are so many technologies involved in a good website.
1) Frontend - thats the foremost things people judge the site.
Has to fast, clutter free (Dont paste random ad's everywhere!),
And should look good (Colors, Aesthetics)

What does it take to design a website? Ahhh what happened to Microsoft FrontPage was my first thought? Oh well, a quick look at google showed me the demise and a new tool called Microsoft Expression Web. Adobe Dreamweaver is another choice.

I looked at some Videos on http://tv.adobe.com/ and found it to be impressive. Especially the PhoneGap integration (which can Convert your site into an app for IOS and Android). Also the view of your site in various resolutions ( Tablet/ Phone/ Laptop etc).

So I went ahead and bought Student Licence (which is 80% Cheap : Hurray!) for Adobe web-premium. Well, I am still as lost as I was before.

Dreamweaver Cannot Help you if you do not understand the basics. So what are the basics for desigining a perfect frontend of a website?

a) CSS: hmm right. So I went ahead and bought a copy of CSS the missing manual. Excellent choice :)



b) JQuery :- Most references on the web are self sufficient.
c) HTML 5 :- No Single reference on the web as of now, but google can be your friend.

Well, time to start thinking of the backend!

2) Web-Framework: There are countless web-framework out there!
The trend started with Rails (which I truly appreciate) and has been copied (for better?) in so many languages.

Django | The Web framework for perfectionists with deadlines

This was the first framework I tried. Good documentation, my first hello world was up and running in no time. The best thing I liked about it was that controller view and model were not split across directories (Like in Rails, and some other frameworks).

But somehow i could not get very close to Python and moved on. Perhaps Python (and hence DJango) is meant for perfectionists.

Ruby on Rails

Good choice, but the fact I was writing my libraries in Java, I wanted something as close to Java as possible. Another choice could have been JRails? Which I did not try.

Play Framwork
Oh well this was purely in Java amd hence a good choice? But googling around I found another framework called Grails.

Grails - The search is over.

Indeed: The search was over. I instantly fell in love with Groovy and the seamless integration of writing Java code in a .groovy file. Made me feel at home, w/o the overhead of learning new language.

3) Database. Most websites have database, now which one to choose from?

PostgreSQL:

I did not evaluate any of the databases and more or less chose randomly in between mysql and Postgres.

4) Webserver: And Finally, the webserver and the to run on.

So many choices in Webserver as well. But I guess Tomcat would be a better choice rather than Microsoft IIS or Over engineered Websphere.

So far, the journey of a C++ programmer writing a Website has started.
Lets see how far I can go from here. I will keep sharing my experiences (of writing code, hosting, mistakes I made etc with you all)...

Cheers,
Woods

Sunday, January 15, 2012

Linux distro for linux web server?

What would be a good distro for linux web server?

Ubuntu Server vs Debian vs Centos vs RH?

Tuesday, February 8, 2011

Asana

frustrated by how much time we spent trying to stay on the same page with everyone (making sure teammates have the information they need, figuring out what everyone’s working on, clarifying priorities, …) and doing “work about work” (progress report emails, meetings, 1-0-1's, status blah…)

Atleast someone is working towards a solution:

http://asana.com/2010/06/what-asana-is-building/

Asana Open House from Jerry Phillips on Vimeo.

Sunday, January 9, 2011

Tryst with Netflix ends

Enjoyed a lot of movies, goofy comedies, gritty war movies and documentaries on Netflix.

Problem is that netflix does not like to stream movies outside of US.
May be Netflix co. does (I was a genuine paying Customer!) but some laws come into picture, literally.

Hotspot shield seemed to be working initially but Netflix seemed to have detected it finally.
It worked for a few days, but then i started to get an error after launching the movie "You cannot watch this movie from this location...".

I could browse their catalog without any problem, which suggest me that their webserver could not detect my location. Quite obvisouly since http://www.ip2location.com/ did show my ip to be coming from US (After hotspot shield was connected).

Now, It suggest me that Silverlight somehow detected my local geographic presence and sent that information to the streaming server. Which quite obviously mismatched.

To rule out this, I tried using Ultrasurf (which is another private VPN, but the bandwidth is bad). This worked like a charm! But watching movies with 'your computer has slowed down, buffering' every 10 mins was a pain.

My Second theory is that Netflix has banned some proxy servers of Hotspot. Naturally they would be having a server farm, with some loadbalancing and initially I was lucky to get one proxy which was not yet banned!

Sooner or later, they caught up, finally...Finally, I had to cancel my membership with Netflix. Can't keep paying $7.99 per month..

As they say, Enjoy it until it lasts...

Tuesday, August 17, 2010

Vertical search space

"The ads revenue arbitrage in just letting consumers discover content via search is dead" Really?

Coming up with a vertical search engine on Flash Games has been on my mind since some days. I am convinced that there is a real need for such a search engine. Getting users there favorite game, w/o going through multiple portals.

until I read this:

http://www.alootechie.com/?q=content/lessons-learnt-failures-gamecurry-youcharades-gamewokcom-alok-kejriwal

The site launched in mid 2008 and we promoted the service extensively using our own network, etc.

The concept was a massive failure. Nobody seemed to return after using the site once and there was no viral traffic being built up. The worst part was that a service intended to help consumers was being spurned so badly. Much later we figured out that kids don’t search for games on search sites – they like to ‘stumble upon’ them.

We failed at this project but learnt an important lesson all entrepreneurs must imbibe –

Even before you create an amazing solution, ask your consumers if they even want it? Your consumers will not use something made ‘easy’ if they never had a problem in the first place!


Something I need to remember when I start my Version 1.0 product.

Saturday, July 31, 2010

Why more s/w engineer struggle after a few years in their career is
because they always used their talent to succeed.

"Excellence has nothing to do with talent.
And in course of time ability and talent are the most useless virtue to possess.."

Wednesday, May 26, 2010