Northern Virginia Software Symposium - April 25 - 27, 2014 - No Fluff Just Stuff

Raju Gandhi

Northern Virginia Software Symposium

Reston · April 25 - 27, 2014

You are viewing details from a past event
Raju Gandhi

Founder, DefMacro Software

Raju is a software craftsman with almost 20 years of hands-on experience scoping, architecting, designing, implementing full stack applications.

He provides a 360 view of the development cycle, is proficient in a variety of programming languages and paradigms, experienced with software development methodologies, as well an expert in infrastructure and tooling.

He has long been in the pursuit of hermeticism across the development stack by championing immutability during development (with languages like Clojure), deployment (leveraging tools like Docker and Kubernetes), and provisioning and configuration via code (toolkits like Ansible, Terraform, Packer, everything-as-code).

Raju is a published author, internationally known public speaker and trainer.
Raju can be found on Twitter as @looselytyped.
In his spare time, you will find Raju reading, playing with technology, or spending time with his wonderful (and significantly better) other half.

Presentations

Rich Web Apps with Angular

In this session, we will take a look at Angular - a new MVC framework by Google. We will discuss some of the terminology that Angular offers, and see how we can use that to develop highly interactive, dynamic web applications. See “Detail” for a list of topics I cover and the Github repo URL

What's new in ECMAScript.next

JavaScript will celebrate it's 19th birthday in 2014. For a language that has been around for such a while it has seen very few, if any changes to the language itself. Well all that is about to change with ECMAScript.next (or ECMAScript 6). ECMAScript 6 modernizes JavaScript syntax, while bringing in features such as modules for better namespacing, class as a first class construct, and a variety of additional operators thus ensuring that JavaScript is ready for the next era of large scale modern web applications.

JavaScript Patterns

In this session we will look at some JavaScript patterns, and how you can use them within your code.

Regex for mortals

Jamie Zawinski once said “Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.“. Many consider regular expressions to be indecipherable, but the truth is that every programmer should consider regular expressions an integral part of their toolkit. From the command line to your favorite text editor, from parsing user input to scraping HTML pages - once you know regular expressions you will find a use for them in almost every programming context.

Gradle from the Ground up

Gradle has fast become one of the de-facto build tool in the Java ecosystem. Gradle offers a powerful DSL to configure your builds. Whether you have a simple build, or a complex build with many moving parts, Gradle's DSL and extensible API can help you make your builds easier, and possible.

Gradle - Tips and Tricks

Gradle has fast become one of the de-facto build tool in the Java ecosystem. You might have used Gradle to build your project without realizing how much more Gradle has to offer. Up-to-date checking, automatic clean, file operations such as copy, move and zip and so much more are just some of the features that Gradle offers right out of the box.

Learning to Learn

In this session we will look to see how we can refactor our learning - what tools, and methodologies can we use to help us learn quicker and better - how we can create a store that gives us quick access to information when we really need it.

Get things DONE!

Find yourself overwhelmed with hundreds of to-dos? Is your hard-drive littered with dozens of killer ideas that you started with enthusiasm and then just fizzled away? Do you feel like you are moving as fast as can but only getting to the wrong place quicker? Well perhaps this session will help.

Gittin' Git

Git, at it's core, leverages a relatively simple data structure to maintain history. In this session we will take a look at this data-structure, which in turn will give us a better view of how Git manages history, and how better to work with it. NOTE: This is NOT an introduction to Git. This session assumes familiarity with Git concepts such as init, add, commit and merge.

Intermediate Git

You have been using Git for a while now. You understand the DAG and how commands like merge and rebase work. But there is a lot more to Git such as the stash, reflog, and interactive rebases. How can one use these to make their more effective use of Git?

Sassy Stylin'

Working with CSS can be arduous. CSS offers none of the facilities that we developers are so used. Facilities like code reuse via abstractions or inheritance, allowing the use of variables and functions. Developers are either forced to violate DRY principles due to copy-paste, or have mile long selector descriptors. This is further exacerbated in larger projects with multiple CSS files.

Enter SASS. SASS stands for Syntactically Awesome Stylesheets. SASS is an abstraction built on top of CSS. SASS files are processed by the SASS compiler which outputs CSS. SASS has all the tools that we developers crave in CSS - variables, functions, math operations, even code reuse via mixins and inheritance!