
Gireesh Punathil
Software Engineer
IBM
location_on India
Member since 6 years
Gireesh Punathil
Specialises In (based on submitted proposals)
Gireesh Punathil is an active contributor to Node.js. His 14 years of software career includes developing, porting, and debugging large and complex System software modules such as virtual machines, Language Runtimes, Compilers, Web Servers with specialization in C, C++, JavaScript, Java on a diverse set of platforms. He is part of IBM's Runtime Technologies team which is responsible for delivering Node.js and Java.
-
keyboard_arrow_down
Show and tell: Generator patterns and new use cases
20 Mins
Case Study
Intermediate
While ES6 generator patterns are designed to empower javascript language with iteration capabilities on heterogenous data structures in custom mannaer, the event-driven asynchronous programming model of Node.js transforms this feature into an interesting semantics in the execution flow control with un-precedented potential in managing concurrency.
The session talks about how the generator pattern helps in iterating over deeply nested structures in a repeatable manner which follows a yield-resume pattern. I show a couple of real-world use cases where this approach helps in addressing performance / scalability / concurrency issues in large scale node.js applications, with an associated demo.
-
keyboard_arrow_down
Nodejs Workshop
Gireesh PunathilSoftware EngineerIBMHage YaapaSr. Software EngineerIBMschedule 6 years ago
Sold Out!90 Mins
Workshop
Advanced
Node and Javscript have already gained massive popularity as a impressive web /cloud development platform and programming language respectively. Yet, it has certain perceived challenges and improvement opportunities - with respect to i) Enterprise grade deployment infrastructure, ii) Problem determination capabilities, iii) Elevation to all types of workload scenarios. In addition, JavaScript as a language has peculiarities from traditional declarative and object oriented languages, which makes it error prone, when used to develop large and complex software modules.
The insight we gained by working closely within Node community and customers, suggests a workshop with the following theme will be of good benefit to the node developers:
a. Introduction to Node programming
b. Introduction, usage and main features of most common node subsystem modules: express, request, async
c. Introduction, usage and main features of most common enterprise features: loopback, cluster, pm2
d. Introduction, usage and main features of most common monitoring and debugging frameworks, techniques: google chrome dev tools, appmetrics, idde, heapdump
e. Any other items which are relevant to node such as programming best practises etc.
f. An Node clinic for open questions, discussions and live debugging.
-
keyboard_arrow_down
Follow your code: Node/V8 tracing
45 Mins
Talk
Advanced
A large percentage of Node application misbehavior can be effectively diagnosed through in-built Node/V8 tracing capabilities. There are a number of powerful tracing options to leverage in development, testing and production phases to validate that application design is indeed reflected in code, without ever instrumenting it.
I will illustrate "top 10" Node/V8 tracing options - from simplest method tracing (find out call sequences, input parameters, return values) to tuning specific JIT compiler options to diagnose and resolve complex crashes/issues. The intention is to help audience understand in-built serviceability features of Node Runtime Environment, and self help in resolving production anomalies.
Server side JavaScript with Node has gained unprecedented popularity as a powerful platform for Cloud / Web development, though the development tools and frameworks are still to mature to complement the productivity. There exists eclipse plugins for Node, but they need improved awareness among the developer community. Brining Node topics to this session are expected to improve this awareness - through implicit indications as well as explicit communication to the wider Eclipse consumers.
-
keyboard_arrow_down
JavaScript Programming best practices: Memory efficiency with Closures
20 Mins
Experience Report
Intermediate
Memory Leaks leading to undesired memory growth and exhaustion are most common production problems in enterprise Node applications. Closures, a powerful semantic feature in functional programs, used pervasively in Node programs are prominent sources of unanticipated leaks.
I will explain three most common use cases where Closures are used in Node. For each, a) sample code, b) the life-span of the Closure context and which variables the closure keeps live, iii) what memory is retained during the Closure life-span. The intention is to help audience understand Closure's execution environment, their implications to memory footprint, and help them develop efficient code.
Many recent problem determination exercises revealed that memory leaks are the most prevalent production issues, and debugging of them reveals that Closures play a major role in it. Disambiguating Closures and programming best practices around it, I believe the Node community will be able to apply it instantly in their day-to-day job. People with strong procedural and object oriented language background will find this information useful, in making the key differentiation between Closures and normal functions.
Server side JavaScript with Node has gained unprecedented popularity as a powerful platform for Cloud / Web development, though the development tools and frameworks are still to mature to complement the productivity. There exists eclipse plugins for Node, but they need improved awareness among the developer community. Brining Node topics to this session are expected to improve this awareness - through implicit indications as well as explicit communication to the wider Eclipse consumers.
-
No more submissions exist.
-
No more submissions exist.