@Cybrilla » Blog Archives

Author Archives: Satish Perala

Conference Event Management Open Source Community Organisation

The Conference Way of Achieving Excellence

Published by:

cybrilla_conference_blog_banner

There is a Plethora of blog posts on ‘X things you should do to organise a successful event’, this is the Plethora+1th one, but with a difference.

Two and a half years ago Prakash brought up the idea of organising a regional Ruby conference. Seemed doable. He had organised national level events before, didn’t seem like much of a trouble. One man brought up another and soon we were a team of 8 many programmers tasked to organize India’s first Regional Ruby conference. And thus GCRC – Ruby Conference of Bangalore was born.

Based on experience and proficiency, we delegated domains to ourselves. Swanand, Dheeraj, Prakash, Hemant, Emil, Leena, Tejas, Kashyap and I to name all, were to be accountable for a domain each and juggle in more than one sometimes. The idea was to develop GCRC like a program, in separate modules, compile parts and run. Except that things do not work in that fashion in the real world. Among many others, these are the practical aspects one should not miss.

Don’t Underestimate The Mess of Paperwork

Charged with organization & finance, our first target was to register GCRC as a legal entity. But then it’s not as simple as it sounds. Available resources do not enable easy comprehension by the common man or the software developers. We had to actually write a blog explaining the Visa process as there were many expatriate speakers. Maybe it’s kept that way on purpose, lest we would start taking up our own legal case as law permits. But that debate is for another day.

After having spent a lot of time figuring out the best suited legal entity for the activities GCRC intended to take up, we reached nowhere. Going by the better judgement of our CA, we decided to register GCRC as a trust, only to experience the sceptical nature of the system. It seemed like ‘Satyamev Jayate’ had given way to ‘Only In God we trust, rest have to follow a lengthy process’. Despite the non-profit nature of our endeavour, it took 3 months to complete the registration process. Our tryst with the system did not end there, everything we intended to do fell short of procedural expectations. Even opening a bank account required a lot of patience.

The last 2 years have witnessed easing up of those norms to a large extent. Those who still make a hue & cry about India’s rank in Doing Business Rankings should probably go back to history or be prosecuted for intolerance. That said, there is still a long way to go and India can do better.

My experience taught me that one should accrue due diligence & plan the paperwork as it can take a lot of time.

There are no Free Lunches or Sponsorships

Sponsorship as a word is generally misunderstood in the Indian context. It’s used for a host of meanings ranging from PR opportunity to product placement. GCRC being a community event did not completely fall in any of those categories. The turnaround time for marketing spend was higher, however the returns accrued were even higher over and after a period of time.

It takes a few big sponsors to make an event successful, till then you keep pitching. Every company in the industry was a prospect and that made it even difficult. There were the thrifty, the tight budgeted and the generous, and don’t forget the corporate marketers who want every bang for their buck. Nevertheless, the key to accumulating substantial sponsorship is to start early. Most companies follow an annual budgetary allocation scheme, being cash strapped or sitting on it towards the end of financial year. The likelihood of encountering the latter scenario being rare. Therefore, one should start approaching prospective sponsors as early as they can.

Even though, we were not the first to start looking for sponsorship, We were fortunate to have our share of sponsors.

Vendors are like kids, best dealt with care!

For an event of the scale of GCRC, you need multiple vendors. And there is a separate vendor for Audiovisuals, Delegate Parties, Accommodation, Printing etc. Event management is an area with plethora of service providers. Name the price and there is someone willing to do it. When faced with situations like these, use principles of operations management. Optimization helps you settle.

Irrespective of your choice of vendors and the quality of their service, it’s always advisable to maintain amicable relations with all, you never know who ends up becoming your saviour/provider in future.

Save for Rainy Days & Miscellaneous expenses

Expenses have a habit of exceeding the budget, being frugal helps if you don’t want to end up out of pocket. Probably that is why being frugal in engineering or expenses is such a fad!

No matter how much you plan, there are still likely to be items that you miss out. It’s a financial management best policy to account for them, so is in organisation.

Contribution First, Impressions Second

GCRC was fortunate to attract proposals from leading Open Source Evangelists of the software development world. I felt cursed at a personal level. The responsibility to select few eminent speakers from a host of proposals from across the world was a stressful job. Each proposal was so distinguished that at one point of time we considered picking from the draw of lots. Good sense prevailed and we applied and implemented the ‘Wisdom of the panel’. Wisdom of the panel is also called mutual agreement in common parlance. We selected speakers based on the average of scores allotted by panel members in various aspects like reputation of speaker, topic & its’ relevance to audience. Among other distinguished speakers, we were lucky to have Chad Fowler, General Manager – Wanderlust, Microsoft for the inaugural edition.

Decades of Ivy league hunting has left the corporate world prone to first impressions. It has now become a symbiotic relationship with one casting impression over the other. This impressionability of industry and individuals is leading us to making wrong choices.

Every pebble creates its own ripples, we should take due care in throwing our pebbles.

To err is human, fixing them is organisation

Even after having used your eye for detail or having stressed through those half rimmed eyeglasses, some tasks stay hidden to the normal eye and reveal themselves at crucial moments. We had one such experience with Event T Shirts. There was a communication goof up and we were left clueless while the T Shirts lay pretty with the hotel reception. Though it gave us a sleepless night, things like these happen & there is not much we can do about it. Interestingly, these goof ups seem to be governed by a law, ‘The Murphy’s Law’. So make your plans, execute them, till murphy ruins them!

Memories are your biggest ROI

Despite your best efforts, the probability of an event being successful is always 1/2. Having fun while organising is another independent event where the sample space is having fun while whatever happens. You realise this while trying to write a blog about it and all that you have to refer is a folder on drive. And that gives you one more recommendation.

Always hire a photographer, memories are the biggest take aways and what better way to lock memories than pictures.

 

News

Heartbleed wakes up the open source community

Published by:

Immediately after having many sleep less nights because of the recently discovered Heartbleed bug, The Linux Foundation has come up with the “Core Infrastructure Initiative (CII)” to raise money to fund critical open source projects. Companies like Facebook, Google, Amazon any few others have already come forward to support this initiative. Many others are expected to join this group.

There are lot of critical open source projects like OpenSSL, which every company uses, but lack the needed financial support. I was shocked to hear that an important project like OpenSSL receives only around $2000 annually in donations and there is no developer who works full time on this.

To avoid the next Heartbleed, more than money, these open source projects need dedicated developers and testers working full time. Hopefully CII will raise enough money to support all the critical OSS projects and fund the development.

If you consume a lot of open source projects and have deep pockets, feel free to donate for this noble cause. Let me know your thoughts on avoiding the next Heartbleed in the comments below.

If you haven’t heard of the Heartbleed bug, I have explained it in detail in another post.

Development News

Are you affected by the Heartbleed bug?

Published by:

Heartbleed bug logo

If you are a sys admin or a web master or an internet entrepreneur owning a website, you probably know about the recently discovered bug in the popular open source library Open SSL.

For people who do not know about it, let me put it in simple words. Very recently, on 7th April, 2014, a serious vulnerability has been discovered in Open SSL library (a popular open source library used for secure access to websites & servers on the Internet. It is used by Google, Yahoo, Amazon and almost all popular websites on the Internet). This vulnerability allows a hacker to steal private certificates, user passwords and sensitive data from your website or server. It is a serious bug registered under CVE system as CVE-2014-0160.

Here is what Wikipedia says …

Heartbleed is a security bug in the open-source OpenSSL cryptography library, widely used to implement the Internet’s Transport Layer Security (TLS) protocol. A fixed version of OpenSSL was released on April 7, 2014, at the same time as Heartbleed was publicly disclosed. At that time, some 17 percent (around half a million) of the Internet’s secure web servers certified by trusted authorities were believed to be vulnerable to the attack, allowing theft of the servers’ private keys and users’ session cookies and passwords.

We managed to test all our clients applications and servers if they are affected by this bug before there is any serious damage. Thanks to Vijay and his team for quickly identifying and acting on this.
We have hosted a simple utility which allows you to test for the Heartbleed vulnerability on your website (http://heartbleedtester.org/)

If you are a geek and love digging deep, read this unofficial guide which explains the vulnerability in detail.

If you are stuck fixing this bug on your servers or want to check if you are affected, we’ll be happy to help you. Get in touch to talk to our server security expert.

 

News

The new beginning

Published by:

After a long wait (6 months i believe), things started falling in place starting with an awesome new office. We are really excited about this place as much as we are excited about our work.

The two things which we like about the place are

Sunlight

This place allows ample amount of sunlight to come in. That keeps the office area well lit always, which I believe improves the work efficiency (I’ll post numbers as we gather some)

Cybrilla office with ample sunlight

Roof Terrace

The roof terrace is an open air terrace which we use for our daily lunches, weekend parties, rejuvenating ourselves between work and of course for stand-up meetings some time. This multipurpose area is where we spend most of our time in the office.

Cybrilla office roof terrace

Here’s what our team has to say

Photogenic, day in day out, and beautiful in the evening, its my window.

I feel like being in the office all the time.

This office symbolizes the silicon valley startup offices which I always dreamed of.

Best workplace I have ever worked at.

With this new workplace, we are hoping to improve our team efficiency and in turn the service to our customers.

Development

How are gems loaded in a Rails application

Published by:

You add a new gem to your Gemfile and start using it in your application’s code. You never have to do ‘require <gemname>’ to use it in the application.

Ever wondered how rails autoloads all your gems? Let me walk you through the process which rails follow. Actually Rails uses Bundler to handle dependency management of all the gems and also autoload them.

How Rails put the gems “on the load path”?

[app]/config/boot.rb

The file is loaded during the rails initialization process and all it does is load rubygems and run Bundler. This will automatically discover your Gemfile and puts all the gems listed in the load path so that they can be required later. (Note: The gem’s aren’t run at this point, just the load paths are set.)

How are gems required (run) ?

[app]/config/application.rb

This file includes all the gems listed in the application’s Gemfile by calling Bundler.require. Bundler allows us to specify which groups to automatically require through the parameters to Bundler.require

The above code loads the assets group of gems only in development and test environments. It makes sense as we use precompiled assets in production, hence assets gems aren’t required to be loaded. (see Rails.groups). There are few comments in the file which will help you to change the default behavior if required.

Understanding rails initialization internals allows us to tweak the process to reduce the application load time. We’ll talk more about the process in the coming posts.

Development

What and Why of Rails?

Published by:

For the last few years, there is a lot of excitement going on about Rails among the web developers. Few months back, techies at Cybrilla have decided to give it a try and now Rails is the main development platform. I decided to blog the reasons behind it, so that it helps you to decide if you are planning to get your hands dirty with Rails.

What?

Rails is a web development framework based on Ruby Programming Language. It strictly follows MVC architecture and believes in ‘convention over configuration’ concept.

For developers with Java background: Rails is similar to struts / spring mvc etc.
For developers with PHP background: Rails is similar to CodeIgniter / Zend etc.
For developers with Python background: Rails is similar to django

Rails philosophy:
1. Convention Over Configuration – Every java developer has to face the problem of maintaining endless xml configuration files. Rails removes much of this pain by following certain conventions for file names, directory structures, database column names etc.
2. DRY: Don’t Repeat Yourself – Rails strongly believes that re-writing a same piece of code is a bad thing. Because so many implementation details are implied from a master source, making changes in Rails becomes straightforward and generally requires a change at a single location.
3. REST is the best pattern for web applications – Rails assumes that most of the web applications are/can-be organized around resources and therefore uses standard HTTP verbs extensively.

Why?

1. Conventions impose discipline in coding. This allows the developers to concentrate on the core application logic than on setting up the application, setting up the database, configuring database etc. mundane tasks.
2. Because of strong conventions, changes to applications are very cheap and therefore Rails is very strong in agile development space.
3. Great community of rails developers keep on building plugins which can be used for common tasks. This removes a lot of “plumbing” associated with building applications with other frameworks.

Above all, it’s fun developing in Rails, as everyday you get to see a new magic 😛

Bizkaro

The look and feel

Published by:

We have come up with a very intuitive dashboard for Bizkaro. The initial users of the product are very much impressed by the ease in using the dashboard. The dashboard is used to manage the content on the website.

I’ll give you a quick overview of the dashboard.

Bizkaro Dashboard MenuAll the available functionalities are nicely displayed on the left side of the screen. The functionalities are put into different categories for the ease of finding them quickly.

The right side of the screen is dedicated to display the actual content management forms. We have designed the flow (for adding new packages, adding new clients information etc.) very beautifully so that the user finds it very intuitive.

The header bar at the top displays the logged in user information and contains a link to go to the actual website.

We believe the users will find this UI interesting and easy to use. We look for your valuable feedback.

Bizkaro

Decision to switch to freemarker from Jsp

Published by:

We got some good feedback and interesting suggestions from our alpha release. Thank you all.

Today we have taken a very crucial decision to switch our templating framework. We have been working on JSP for ages and suddenly changing the gears has left a feeling of nostalgia. I would like to share few points about this decision.

In the initial draft of the product, we missed an important feature – customized templates to users. The feedback waked us up and made us realize the importance of this feature.
To implement this feature, we need greater flexibility with the templating framework. The templates should be stored separately from the webapp, customized template files should go into the user’s specific directory, templates should be added dynamically to the design store and lots more. It’s not possible to get this flexibility by using JSP. Hence the decision to shift.

We did a bit of googling to find out the framework which suits our requirement. We finally zeroed in on Freemarker.

Bizkaro

Bizkaro – Alpha release

Published by:

We are excited to announce the launch of bizkaro alpha version. The product is given out to few friends and family members to try out the features and come up with suggestions.

Few highlights of the product
CMS enabled website
Intuitive backend to manage the content

We expect the people trying out the product, to use the backend panel and give feedback on the comfort level of using it.