Friday, August 29, 2014

JavaScript 'strict' mode and OOP template

"JavaScript is not a complete programming language. It gives so many chances for us to make errors. The code is not very structured. It is very difficult to follow the control flow." This is a common statement one could hear from back-end developers starting to do client side development. While I agree to that statement to some extent. I still believe that JavaScript is a very nice dynamic language with its own good parts. It is a language which has got a larger role to play in the future of the web. It might take sometime for the beginners to get used to some of the core concepts like prototype, closures, etc. But, once mastered, the language will help you to get your things done quickly (especially on the web). 

Thursday, August 28, 2014

Cross-Origin Resource Sharing

Cross posting an article written by me last year for a technical magazine but was not published.
--
Web is growing fast with lots of new services being added everyday. Advancements in technologies like HTML5, JS, and CSS3 make the web so powerful that we can almost do everything on the web today. With the increase in the number of services, the need for cross referencing the services also increases. A web application providing photo editing service may want to use the service of photo sharing sites like Instagram or Flickr. Almost all the service providers expose APIs for others to consume their services. While consuming the service from a web application back-end is easier, it is not so easy using the client side technologies. Browsers impose lots of restrictions in accessing resources originating from domains other than the current domain. 

Tuesday, March 11, 2014

Andhra Pradesh | Voter ID application status and polling booth info

A colleague of mine has shared some useful information on finding polling booth for those who have registered for their voter ID in the last couple of months in Andhra Pradesh. Cross posting the blog here for the benefit of all.

Thursday, October 3, 2013

JSFoo 2013 – Day 2

This post is a summary of the talks from Day-2 of JSFoo. Check out Day-1 talks here. The second day of JSFoo started with the most awaited talk of the conference. It was the talk by Christian Heilmann (@codepo8) of Mozilla. He gave a keynote address on the topic "HTML5 for the masses - Making the Future the Now" and impressed the crowd who have gathered there early on a Saturday morning.

Wednesday, October 2, 2013

JSFoo 2013 – Day 1

JSFoo is a JavaScript conference organized by the awesome folks at HasGeek. JSFoo 2013, held on 20th and 21st of Sept, is the fifth edition after four successful runs in 2011 and 2012. The focus of this year’s edition was original creations with JavaScript. A series of workshops was also conducted before the conference. My full-time talk proposal (Building components using Polymer) didn’t get selected this time. There were lots of interesting talks and demos on both the days. There was a good number of International speakers this year. The turn around for the conference was quite high. When I walked into the auditorium, I had to spend quite sometime to find a place to sit. The videos of all the talks can be found here – Day-1, Day-2. Attaching the screenshots of mind map I have created during the conference. Click on the images to enlarge them.

Bringing the Open Web and APIs to mobile devices with Firefox OS

Speaker: Robert Nyman(@robertnyman)

Robert Nyman kick-started the conference with a keynote on Firefox OS. This was one of the sessions I was looking forward to. Unfortunately, I couldn’t get to the venue on time and had to miss this session completely (thanks to the delayed overnight journey). I am yet to catch up this session on HasGeek TV.

Frontend Dev Ops

Speaker: Aditya Yadav (@NetRoy)

In this session, Aditya talked about the evolution of tools in managing the web applications. He called for the developers to automate various processes involved in managing the web apps – deployment, flushing cache, performance tweaks, writing clean code, etc. He also briefly talked about some of the deployment models being used in the industry.

Front end Dev ops

Generating tests from code – or How to test better and faster

Speaker: Olivier Crameri (@Oliviercramieri)

This was one of my favorites of the day. I have learnt some new about testing. Olivier talked about his research work based on the concept of Symbolic Execution and how to use it to automate the generation of test cases. He also talked a bit about the solvers they are using at BugBuster. Then, he demonstrated Unite, a tool for generating unit tests from the code. The demo looked cool as the tool generated some of the test cases for a regular expression. However, I am not sure about the completeness of the test cases though. I am gonna spend sometime on this to get a better understanding of the concept of Symbolic Execution. Thanks Olivier.

Generating tests from code

Real-Time peer-to-peer collaboration with JS and HTML5

Speaker: Om Shankar (@om_invincible)

In this session, Om talked about different components involved in making a peer-to-peer connection using WebRTC. He also showed some cool demos. I was looking to see more on data channel. There wasn’t much on data channels though.

WebRTC Real Time Collaboration with JS & HTML5

JavaScript is a DJ

Speaker: Jaison Justus (@jaisonjutus)

This was the first session after lunch. Jaison engaged the audience really well with his crisp talk on WebAudio API. He showed couple of cool demos using WebAudio API. Good job bro.

JavaScript is a DJ

Programming Flying robots

Speaker: Sreekanth Vadagiri (@sreeix)

In this crisp talk, Sreekanth showed off his AR Drone being controlled by a node app. He also demonstrated the TurleDrone which he has built. The audience were really impressed with the demos. I have got one myself last month. Yet to find a good place to fly it.

Flying robots with JavaScript

Using Camera motion detection in JS for gesture based interaction

Speaker: Vinci Rufus (@Areai51)

Vinci talked about the techniques involved in recognizing the gestures. He talked about the Blend mode difference method used for detecting the gestures. Then, he demonstrated cool apps built using getUserMedia() API. I was really impressed with the car demo which Vinci and his folks have built.

Motion detection in js gesture based interaction

RedRaphael – JavaScript graphics library on steroids

Speaker: Sushant Sudharshan

In this talk, Sushant from Fusion Charts talked about the evolution of the graphics library RedRaphael. He talked about some the salient features of the library like Composite shapes, grouping, etc. It would have been great had he shown better demos built using the library.

RedRaphael

Killing passwords with JavaScript

Speaker: Francois Marier (@fmarier)

This was also one of my favorites of the day. Francois talked about some of the problems with the current password system and what an ideal solution should look like. Then, he introduced Personas with the help of a short play. Personas look like an interesting concept. Need to explore more on this.

Killing passwords with JavaScript

Microsoft sponsored Talk (JS / Web stuff)

Speaker: Rajasekharan Vengalil (@avranju)

In this talk, Raj talked about the some of the cool stuff we can do with JavaScript – Pointer events, Full Screen API, Secure WebGL, etc. Some of the demos (GlacierWorks.org, for example) were really awesome. Then, he talked about some of the tools for debugging the JS code – modern.ie, browserstack. The developer tools on IE seems to have improved a lot. Raj’s session was very informative. Kudos to him for picking up some of the lesser known stuffs for demo.

Microsoft sponsored talk

Bot using Node.Js and the HTML5 Audio API

Speaker: Ameya Karve (@ameyakarve)

In this crisp talk, Ameya talked about how he has used Node.js and HTML5 audio API to build his bot. Unfortunately, he couldn’t show the demo of it on stage.

Bot using Node JS

Offline in the browser – with IndexedDB, AppCache and LocalStorage

Speaker: Manan Bharara (@mananbharara)

Manan talked about the different techniques available for building offline apps in his crisp talk. This was the last session of the day.

Offline in the browser

Overall the day was really good. Had some interesting conversations with fellow JS developers. Check out the summary of Day-2 here.

-- Varun

google-site-verification: googlea4d68ed16ed2eea6.html