Platinum Partner
architects,opinion,devops,theory,tips and tricks,tools & methods,nitrous.io,punch

Dev of the Week: Lakshan Perera

Every week, we feature a new developer/blogger from the DZone community here and in our newsletter, catching up to find out what they're working on now and what's coming next. This week we're talking to Lakshan Perera, a developer for Nitrous.io and the creator of Punch. Some of his most recent DZone posts include:

Thanks for talking to us! What have you been working on lately?

I joined the Nitrous.IO team in the beginning of this year. Nitrous.IO is still an early-stage startup and I'm one of their first hires. Personally, I like to work on early-stage startups because it is challenging and I actually get to build stuff that can make an impact. 

Further, I think Nitrous.IO solves an interesting problem. It is a cloud based development environment. If you're a developer, you know how much of a burden it is to maintain your development environment, especially if you switch between projects that uses different stacks. Also, if you have multiple workstations, keeping the configurations, tools and libraries in sync between them can be a major pain. Nitrous.IO can solve these problems.

Recently, I helped to ship collaboration support on our online IDE, which I believe would help development teams which are remote, but like to do pair-programming.


What inspired you to build the 
Punch static site generator?

I created Punch while I was working on CurdBee. We originally used WordPress to power its marketing site and on a day we ran a promotion site went down because of a memory leak in PHP. It was embarrassing. So I decided to look for a better way to manage the site.

Though we used WordPress for the ease of managing content, I felt having to render each page on server-side for each request is needless waste of resources. The pages can be generated only when the content actually change. 

However, most existing the static-site generators didn't consider much on managing content (or they were more geared for managing blogs). I decided to write a tool that can simplify this workflow.


Are there any particular developer tools or resources you couldn't live without?

My development setup is minimal. It's comprised of ZshVimGit, and since most of my work is web releated, Chrome DevTools. After joining Nitrous.IO, I started using tmux. I run tmux on my dev box and connect to it using SSH. This allows me to have a continous workflow from anywhere, using any machine.


Do you have any favorite open source projects you've contributed to recently?

Punch has been my main focus lately. During last year, I contributed to http://www.aloha-editor.org/  project, which I enjoyed a lot.


Do you follow any blogs or Twitter feeds that you would recommend to developers?


Nowadays, I actually don't follow any specific blogs. But I follow people like @igrigorik, @mathias, @raganwald, @jashkenas and @littlecalculist on Twitter, who shares interesting ideas and inspiration.

Also, I have subscribed to JavaScript Weekly and Status Code newsletters, to keep track of upcoming projects and trends.


Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?

As a kid, I was amazed by the internet. I just wanted to create and publish stuff on the web so I can make new friends. I realized, for that I need to learn how to make web sites. So I learnt HTML, JavaScript and eventually whole stack of other tools and frameworks :)


Anything else you'd like to mention?

As a developer, you should always have the hunger to learn and improve yourself. Don't allow yourself to stagnate. Get inspired from other developers, share what you build. Get involved in your local developer communities as well as online ones such as DZone. 

Thanks, Lakshan!

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}