Biography for Lakshan Perera


Briefly about me

I'm a 23 year old student from Sri Lanka. I'm passionate about FOSS culture, web technologies, agile development. My core strength is desire to learn and adapt myself rapidly to the context.

I blog my ideas, thoughts and experiences at laktek.com

About my study

Currently, I'm following B.Sc (Hons.) degree in Information Technology, at University of Moratuwa, Sri Lanka[1]. Currently, I'm in the fourth (and final) year of my degree program. I would like to do my further education on distributed systems, cloud computing and language optimizations for scalable systems.

My interests

As I mentioned earlier, I'm really passionate about agile development, hence I love learning and working with dynamic programming languages.

I use Ruby as my primary programming language and have a good experience in working with different frameworks and libraries in Ruby environment including Rails, Sinatra, Thin and Rack.

Also, I'm interested to be on the fringe and learn new technologies, which I see as useful. Currently, I'm reading on real-time web applications, schema-less databases and domain specific languages (DSLs).

My non-Smalltalk experiences so far

While in the University, I joined as an intern with Vesess[2], the pioneering web firm in Sri Lanka when it comes to usability, web standard based design and web applications. At Vesess, I lead the development of several commercial web applications. This includes online billing application, CurdBee[3], which has become very popular among small businesses and freelancers .

My contributions has been accepted to open source projects such as Rails, Rainbows, Moneta and
Cramp. Also, I have released some of my hobby projects on GitHub [4] and some of them have
become popular in the community [5],[6].

Also, I have successfully completed the 2007 edition of Summer of Code under SilverStripe CMS[7][8].

My Smalltalk experiences so far

Honestly, I came to know the real capabilities of Smalltalk only after discovering MagLev[9], Ruby Interpreter implementation which was based on Smalltalk VM. One of the features, I really love about Smalltalk is the object persistence. This could be really helpful in building scalable high performance systems.

Also, I have played with Seaside[10] a little. However, I'm yet to do any critical project based on Smalltalk.

Why am I interested in Smalltalk?

I see Smalltalk as a good alternative for developing high performance, scalable web applications. It's suits for contexts, where dynamic languages such as Ruby and Python are inadequate in terms of performance. Though, languages such as as Erlang, Clojure and Scala are promoted to be suitable for these cases, those involve a steep learning curve for developers.

In contrast, Smalltalk offers features such as Object Persistence, JIT compilation which could enhance the performance and also its language structure is easy to grasp for someone coming from Ruby or Python eco-system.

This is the main reason why I love Smalltalk and want to promote it among other developers.

Will I stay with Smalltalk after the project is finished?

That would depend mainly on how my work would be accepted by the community and mileage I could take from the project. Given the fact, HTTP messaging library project is something important for Smalltalk community, I believe I should take the responsibility for its maintenance and further releases.

References

[1] www.mrt.ac.lk
[2] vesess.com
[3] curdbee.com
[4] github.com/laktek
[5] github.com/laktek/Web-Socket-Examples
[6] www.web2media.net/laktek/2008/10/27/really-simple-color-picker-in-jquery/
[7] www.silverstripe.com/a-world-of-mashups-now-possible/
[8] www.web2media.net/laktek/2007/08/25/sweet-summer-of-code-thank-you-google/
[9] ruby.gemstone.com/
[10] www.seaside.st/




Updated: 4.4.2010