Tag Archives: rails

RailsGirls Pune – The Gold and the Beautiful

(This event report of RailsGirls Pune – a one-day conference for women working on Ruby-on-Rails, first appeared on the Josh Software Blog, and is reproduced here with permission for the benefit of PuneTech readers.)

I was skeptical! Just from my experience of organizing RubyConf India and some local meetups, I was sure the turnout would be low and the event would be ‘casually boring’. If only I knew how crazily wrong I was!

A few days before the event, seeing about 250 registrations was itself a revelation. Then the turnout of over a 100 girls was exhilarating to say the least. I mean, how often does one get a chance to address a crowd at a techie event with ‘Hello Ladies!’. I am indeed lucky.

RailsGirlsJosh Software was one of the sponsors along with ThoughtWorks and CodeIgnition. It was great to see a LOT of mentors turn up for the event — which in my opinion was one of the success factors of Rails Girls Pune – EVERYONE got attention and there was never a case where someone was sitting idle or looking around for help.

The demographics of the crowd was varied – quite a few girls had come down to Pune for this event, some even travelling most of the night to get here!. There were a lot of girls with a prior technical background but none in Ruby. And there were 5 people who were entirely new to programming and they too managed to code, gleefully if I may add! It’s not often you get to hear an artist talk about controllers and methods. 🙂

kid2

One good cultural change that stood out was the kids running around an event with their dad’s baby-sitting them while the mom’s coded!

Proceedings were kick-started off  by Gunjan from ThoughtWorks. She spoke about Women in Technology and Leadership and why such events are so important for everyone.

railsgirls1

After a brief introduction from other sponsors, all participants were divided among various tables and each table was assigned a mentor, though I saw at least 2 or 3 mentors at each table. Everyone was eager to help and answer questions.

RailsGirls3As the mentors were aware of the RailsGirls teaching process, it started of with getting familiar tryruby.org before moving on to other things like BentoBox and explaining basic concepts of Rails. Before long, everyone was busy working hard!

There were lot’s of discussions happening amidst kids running around, regular trips for getting more coffee or tea or some snacks. Before long, it was time for lunch and a breather.

chickendanceThoughtWorks organized an awesome lunch and after lunch, it required more than just Ruby to shake everyone up. What better than a ChikenDance for 5 minutes that started slow with a little bit of shyness among the audience but reached a crescendo with everyone joining in!

 

 

lighteningtalkThere were three Lightening Talks to get the crowd back into the coding groove. I spoke about why we love Ruby with the talk ”My Grandmother can read my code“.  Praveena  gave a talk on “Perks of being a Programmer” and Nishita gave a talk about “How the Internet works!”.

The afternoon was one busy session and everywhere you went, you heard only about Controllers, Scaffold, Bootstrap etc. – music to my ears!

Towards the end of the session, we had some participants showcase their work after uploading on Heroku. A few mentions of some really good work are  http://vast-mesa-2265.herokuapp.com/ideas and http://shrouded-cove-2185.herokuapp.com/

mentorsThe mentors did a wonderful job and got a lot of appreciation from all. Well, at the end of the day, a lot of people mad new friends. (Do not miss the “I <3 Matz” on the bottom right corner of the photo!)

Anup and Prathamesh wound up proceedings with introducing everyone to Pune Ruby User Group and after the prolonged networking that ensued, everyone called it a day and probably slept the night dreaming of instance variables!

A special thanks to Shilpa Nair and Hephzibah who did a wonderful job organizing RailsGirls. Hope to see more of these events soon. Do like the Rails Girls Facebook Page  and show your appreciation!

@RubyConfIndia 2013 Pune Event Report by @JonathanWallace

(This event report of the recently concluded RubyConf 2013, which was held in Pune a couple of weekends back, by @JonathanWallace first appeared at the @BigNerdRanch blog. It is reproduced here with permission, for the benefit of PuneTech readers.)

In my professional career, I’ve never felt prouder than when I was accepted as a speaker at RubyConf India. I’ve spoken at numerous user groups, helped organize events, and even performed in front of huge crowds, but this was the first time I had been given the opportunity to speak at a conference.

My goal was to put together a quality presentation on debugging that would help the attendees in at least one small way. If each person, from advanced to beginner, were to walk away with at least one new insight or piece of information, then I would be happy.

I found myself achieving that much and more. I met so many friendly people at this conference, had a lot of good conversations and made a number of #rubyfriends—more than at any other conference I’ve attended. And while the accolades and interest in my talk were wonderful, discussing my work, good code and great co-workers at Big Nerd Ranch was the best part of all.
The Talks

There were many other excellent talks at the conference and I enjoyed all of the ones I attended, but I found myself most inspired by three talks in particular:

  1. Siddhant Chothet‘s talk on accessibility and Ruby illustrated how easily the Ruby community could improve accessibility for users and developers. This talk wowed us as Siddhant demonstrated the challenges and impressive capabilities of blind developers. I would be remiss if I didn’t note that though Siddhant did have slides, he did not read from them, as he is blind himself. Not only was this his first talk at a conference, Siddhant gave the whole presentation from memory! If you want to support his work, check out the brails project.
  2. Sau Sheong Chang created beautiful music for us using pure Ruby, turning tweets into music. He shared just enough of the basics of music theory and the physics of music to walk us through his newly released muse gem. I love music and have played the piano for many years, and I look forward to creating music with one of my favorite tools, Ruby. Step one? Add a hubot script that makes use of muse in some fashion.

  3. Our own Andy Lindeman gave the closing keynote. In this talk, he revealed how much we all benefit from open-source software, thanks to the many developers who have given freely of their time and effort. I highly recommend that everyone in the Ruby community see the talk. While Andy’s talk focused only on the code written in Ruby libraries, I find myself flabbergasted at how much benefit we derive from open source, free technologies when considering the full stack of operating system, database server, web server, web browsers and client-side technologies!

Next year

But a summary of a few talks alone doesn’t do this conference justice. It’s definitely a should not miss, and I’m already planning a talk for next year. I hope to see you there.

(For another event report, see this post by student Vikas Yaligar.)

Code + Beer + Enthusiasm = Pune Hackfest

(Last weekend, the Pune Rails Meetup community organized a weekend-long Hackfest to build a Citizen Empowerment App. Gautam Rege, one of the organizers of this hackfest wrote this event report about the hackfest, which first appeared on the Josh Software blog, and is being re-published here with permission.)

Damn! Hackfests really work.

At the latest event of the Pune Rails Meetup – we organized a hackfest for the ‘second’ time (ahem – the first one ended before it started). This time however, we had a plan:

“Citizen Empowerment for Better Governance” – the aim was to complete the MVP for this in 2 days! We had a record attendance of 25-30 people on both days. I was skeptical of how much we could do, how much we can organize and if we can manage to keep everyone satisfied – it was make or break!

http://kipwiki.heroku.com — WE DID IT! This portal is almost complete (a few technical glitches but over all I would say it was success in more ways than one. The source code is hosted on github: https://github.com/punerb/kipwiki The hitch was that MongoHQ use v1.6 which does not support $nearSphere conditions for geo-spatial indexing — this causes our geo-location to go for a toss.

These are the lessons we learnt:

Pair Programming

This was not mandated but recommended (LoL — “mandatory pair-programing” — an oxymoron?). This photo says it all. Everyone paired with someone automagically — and it worked like a charm.

There were plenty of more modules build, tracked and tweaked. However, everyone was open to change, talking to everyone AND most importantly committed to “GETTING IT DONE”.

What we did

Initially,we had some mocks that we got confirmed – narrowed down the scope of work to 2 days, discussed with Peter at length what he wanted and then planned this hackfest. The first morning – we discussed the plan and with 1 hour we got down to business. This was our rails stack:

– Rails 3.0.7

– MongoDb (via Mongoid)

– Devise & omniauth for authentication

– mongoid-paperclip (with S3 as storage).

– Heroku and MongoHQ

– jQuery search result filtering

The Party continued into the night

Peter sponsored not just the lunches and dinners – but also ensured there was a steady flow of juices, snacks, fruits and beer! Shardul did not miss the chance to ‘showcase drink-fest’ 😉

Peter even bought a ‘Hackfest’ cake – what more could we ask for?

We worked on the first day till 11.30pm and then crashed to be ready for Day2. Day2 was very very productive and we were coding till 1.30am in the night to reach the finish.

Lots of beer, fun, ‘resolving conflicts’, ‘git blame’ games — and even doing something right like this one of Sergey! 😉

Coding, Designing and Testing

We were able to churn out a LOT of code indeed. But it did not start there. We had to design the web-portal with our designers, we had pivotal tracker to track stories and rspec to test the models. No we did not do ALL this. We used Pivotal tracker to check and evaluate stories and unfortunately we did not do Test Driven Development. Some of the things that we need to improve.

The excellent part of was that we had some rock-star programmers – who churned out a LOT of awesome code and we had some excellent designers who helped with designing.

“427 commits from 17 developers” and here is the impact:

We missed out on Test Driven Development!!

This is one thing that we need to do differently at the next hackfest. Its very important to see this work beautifully and always be ‘code green’.

All in all I think we are ready to be a part of RailsRumble later this year and I do intend to get Pune.rb on the RailsRumble map!

 

Rails Hackfest: Build a Citizen Empowerment webapp in a weekend – 11 June

Gautam Rege writes:

Pune Rails Meetup announces Hackfest: Citizen Empowerment web app for better governance.

After the post-adrenalin Rush of RubyConfIndia, we are proposing a HackFest which will get us all together to build a web-app. We cannot accommodate more than 25 people for this – so be quick to decide!

Come and go as you please at your convenience — The Hackfest is on for 48 hours!

The Brief

This is a web app to empower citizen’s to create ‘projects’ for better governance in your locality or city. For example, ‘Anna Hazare’s Anti-corruption’ campaign or the ‘Proposed Metro in Pune’ or the ‘Failure of BRTS’ or the ‘Tree Plantation Drive in Baner’, “How to Save Ramnadi” etc.

Projects can be Issues in your locality that you want the Government to look into or new Ideas to improve the locality or city that the Government should undertake. Using Viral Social Media, we can involve various representatives (RTI activist, social workers and government representatives) to take this up to the next level.

Sponsorship

In true Aussie spirit, this Hackfest is being sponsored entirely by Peter Spiers. This project is his idea and he is keen to see how much the Pune Ruby community can deliver!

He will be providing for Beer, pizzas and soft-drinks throughout the duration of the Hackfest.

The Hackfest

The hackfest scope, stories have already been outlined and updated on Pivotal Tracker! Those interested can RSVP for this meetup. If you are interested in the pre-planning process (design, architecture, stories etc.) please send an email to Peter and he will add you to the project on Pivotal Tracker.

Tentatively, this is what we are looking at:

  • Rails 3.0.x and Ruby 1.9.2
  • MongoDB as the data store
  • Devise + Omniauth for authentication
  • Cancan for authorization
  • Mongoid-geo for geo-location.
  • HAML & Sass for templating.

If you are interested in learning or contributing, don’t miss this event.

When, where, how

This event will start at 10am, on Saturday June 11 (tomorrow), and will continue for 48 hours. It will be in the offices of Webonise Software, Mantri Lavendula, Survey No. 52/4/B/2 of Village Bavdhan Khurd Pune.

You can join at any time, and leave at any time. The event is free. It is also officially “closed”, but that shouldn’t really stop a passionate Rails hacker from being able to attend. Just contact the organizers Gautam Rege, Anthony Hsiao or venue sponsor Shardul Mohite and plead until they allow you in.

See the Pune Rails Meetup page for details.

Event Report: GeekNight with Ola Bini – JRuby for the win

(This is a report of the GeekNight with Ola Bini written by Sandeep Mukhopadhyay)

ThoughtWorks Pune had invited all developers to their GeekNight held on May 25, 2011. GeekNight is a series of talks about cutting edge technology, where you also get to meet like minded geeks. This GeekNight featured a talk “JRuby for the win” by JRuby Core Developer Ola Bini.

Ola Bini is a core JRuby developer and is the author of the book “Practical JRuby on Rails”. He works for ThoughtWorks in Chicago. Ola’s wide technical experience ranges from Java, Ruby and LISP to several open source projects. He likes implementing languages, writing regular expression engines, YAML parsers, blogging, and other similar things that exist at the cutting edge of computer science.

This is a first hand report by Sandeep Mukhopadhyay:

The GeekNight Event kicked off officially with Ola Bini giving an overview of JRuby. JRuby is a 100% Java implementation of the Ruby programming language. It is Ruby for the JVM. A number of companies use JRuby, including Thoughtworks, as it is most compatible version of Ruby as coded in Java.

Ola also displayed a sample Application which showcased integration of Java APIs with JRuby. Using a combination of Explicit Extension API and OO internals in JRuby, integration bridges can be built with Legacy systems. Ola showed how to use Java and Ruby interchangeably in same program, and this feature was quite popular among those present.

Understandably, JRuby seems to be popular among many developers as it gives a free hand to use the best possible features of Java and Ruby in same ecosystem. Ola also discussed integration with different language like Erlang and Clojure just by adding jars into classpath and also talked about build tools for JRuby i.e. (Ant+Rake).

Just like in other technology events, the technical crowd soon started discussing issues like threading, Unicode, Performance, Memory Usage and Garbage Collector. Ola also brought up issues with threading as it runs on Native threads or Green Threads and briefly discussed as how to check memory usage of applications in JRuby using JConsole and other Java tools.

Gautam Rege (Co-founder Josh Software) and whose company extensively uses Ruby on Rails also discussed a few production issues.

Last but not the least, Ola and group also discussed issues about support at the Cloud level by Engine Yard as well as using Ruby Frameworks (Cucumber and JtestR) for testing.

It was a productive GeekNight

What I like about Rails3 by Gautam Rege

(This article by Gautam Rege is based on a talk he gave at Techweekend #8. It was first published on the Josh Software blog, and is reproduced here with permission.)

This is NOT a post about differences between Rails 2.x and Rails 3 but these are some musings about what I love in Rails. A lot of goodies come ‘in the box’ (I hate saying out-of-the-box) with Rails3 and some of them have been there since early version of Rails but somehow less frequently used or talked about. I spoke about this at Techweekend #8 and the presentation is here.

Bundler

Ever had a production system crash one day – without any code deployment or even anyone logging in. After the initial ‘its not me’ excuses, one system administrator says ‘Hey, I had updated the system libraries’. Having been burnt already before (hopefully), you check on the system and find that some system library has been upgraded and some gems have been upgraded and that is causing incompatibility between other gems etc. We had the case where rack (1.0.1) was upgraded to rack (1.1) causing incompatibility with the Rails gem we were running! The fix is simple — upgrade or downgrade your gems or libraries and you’re on your way. A few days later, another developer needs to deploy a simple sinatra application. He takes the latest version which requires rack > 1.1 and it automatically upgrades the gem. Boom! Your Rails app crashed again.

Did I hear you freeze the gems? Nah – not a good approach, as it causes your application deployment bundle to be huge and ‘frozen’. Every application you use would require to freeze gems and this does not really solve your problem.

Bundler (by Yahuda and Carl) built this awesome gem which is now the de-facto standard for any Rails application. In fact, it was so cool, its not Rails 2.x compatible and very highly recommended. You can now specify your dependencies in a Gemfile and prevent any clashes with any other gem versions and their dependencies. Since the gems are installed in the system default location (not frozen in your app), it means it us re-usable and version friendly!


source "http://rubygems.org"

gem "haml" # the latest version
gem "rack", "~>1.1" # v1.1 or greater
gem "nokogiri", :git => "git://github.com/tenderlove/nokogiri.git"
gem "splat", :path => "~/Code/splat" # local code base

group :test do # only in test environment
gem "rspec", :require => "spec"
end

UJS

Unobtrusive Java Script has been around for ages now but Rails lingered with prototype.js. Now, with the awesome features of JQuery, we can easily use UJS to solve some common and nagging problems:

  • Avoid submit if button clicked twice!
  • Make non-get requests from Hyperlinks!
  • Submit form data via Ajax

Add :remote => true to hyperlink, forms and other elements. This adds the data-remote=true in your html properties. The ‘live’ JQuery function binding kicks in and sets up the events for various elements. Simple and awesome – this is available here.

XSS

Cross site scripting has been a pain to handle for a long time. Rails does this under covers – you dont event need to know too many details:

protect_from_forgery is automatically added during basic rails project creation. This ensures that every form created by the application has an authenticity_token as a hidden data field. During a post request, this is verified and thus ensures that the source of the form creation is the same server – this avoid session stealing where a malicious form is posted to your server using an authenticated user’s session!

While using UJS, you need to add csrf_meta_tag in your layout to avoid silent Ajax errors.

SQL injection is cleanly avoided with new where syntax:

# Wrong
where("user_name = '#{user_name}' AND "password = '#{password}'").first

# Correct
where("user_name = ? AND password = ?", user_name, password).first

# Correct and clean
where(:user_name => user_name, :password => password).first

In Rails3, all html spewed out is HTML SAFE! So, you cannot leave gaps for non-HTML safe code, even by mistake! If indeed you do trust the source, you can use the ‘raw’ method to spew out the HTML as is.

Rails Eager Loading

The N+1 query problem is fairly common and largely ignored until you hit serious performance issues.  Straight out of the Rails guide, consider the case

clients = Client.all.limit(10)

clients.each do |client|
puts client.address.postcode
end

There are 11 queries fired here. Using the :includes construct, Rails does eager loading like this:

clients = Client.includes(:address).limit(10)

clients.each do |client|
puts client.address.postcode
end

Here only 2 queries are fired as Rails includes the address relationship too while fetching the client objects.

Transliteration / Babosa

What happens to your permalinks if a user enters the information in Arabic? We faced exactly this issue and were asked by our client to prevent input which is not English. Woh! ActiveSuppprt in Rails3 addresses a lot of these transliteration issues:

"Jürgen Müller".to_slug.transliterate.to_s #=> "Jurgen Muller"

Performance using Identity Map

The awesomeness of Rails progression – As of this inclusion the Identity Map pattern is now part of Rails 3 caching mechanism. An identity map is a design pattern used to improve performance by providing a in-memory cache to prevent duplicate retrieval of the same object data from the database, in context of the same request or thread.

Optimistic Locking

A really old concept which has been there since REALLY early versions of Rails. This is commonly overlooked but is critically important when it comes to concurrent request processing. By adding a ‘lock_version’ field in the table, Rails automatically kicks into optimistic locking mode and prevents concurrent writes when the data is stale. The StaleObjectError is raised incase the lock_version is not the same as when it was read.

Named Scopes

This is almost cliched now 🙂 Mames scopes were added since Rails 2.1. Its one of the things I love about Rails. The scopes are chained together and the query is fired only when the data is really needed. This is excellent for report filters! Adding new filters is a breeze as its only one of the scopes to be chained. Remember that scopes do not return an Array but an association object like has_many. That is how they can be chained to other scopes.

I’m pretty sure I have missed some things here. Do comment on what features you like best about Rails3! 😉

 

TechWeekend 8: Web Development Frameworks – Rails, Grails, Django

TechWeekend #8 (#tw8) this Saturday will focus on Web Development Frameworks. We have the following talks lined up, and one more is likely to get added in the next day or two

  • Grails, and other web development techniques in Groovy, by Saager Mhatre
  • Interesting new things in Rails3, by Gautam Rege
  • “A Django Case-Study: Use of advanced features of Django in http://wogma.com” by Navin Kabra. This talk will be structured in such a way that people who are not familiar with Python/Django might find the features interesting; while Django developers will be interested in how they were implemented in Django.

TW8 will be this Saturday, 19th March, from 10am to 2pm, at the Sumant Moolgaonkar Auditorium, Ground Floor, A Wing, ICC Trade Center, SB Road.

About Techweekend

TechWeekend Pune is a volunteer run activity. TechWeekend talks are held on the 3rd Saturday of every month from 10am to 2pm at Sumant Moolgaonkar Auditorium, Ground Floor, ICC Trade Center, SB Road. Each TechWeekend event features 3 or 4 talks on advanced technical topics. These events are free for all to attend. See PuneTech articles about past techweekends to get an idea of the events.

Join the techweekend mailing list to keep in touch with the latest TechWeekend activities.

About the Sponsor – Microsoft

Many thanks to Microsoft for sponsoring the venue for Techweekend. Microsoft wants to get more closely involved with the tech community in Pune, and particularly the open source enthusiasts – with the intention of making everybody aware that their cloud technologies (like Azure) actually play well with open source, and that you can deploy your php applications, your drupal/joomla installs on Azure.

When, Where, How much

TechWeekend #8 will be on Saturday, 19th March, from 10am to 2pm, at Sumant Moolgaonkar Auditorium, Ground Floor, Wing A, ICC Trade Center, SB Road.

This event is free and open for anybody to attend. Register here.

Pune Rails Drinkup: Ruby-on-Rails tech talks over (free) drinks

The Pune Rails Meetup Group invites all enthusiasts of Ruby-on-Rails for their second “Drink Up” event. Gautam Rege writes:

This time we have a technical drink-up. We shall have 1 or 2 technical sessions followed by networking.

Thanks to IntelleCap for sponsoring this meetup entirely!

Venue: Boat Club

Agenda: We have 2 technical talks of 45 minutes each.

6pm – 6.45pm: “Rhodes in a Nutshell” by Akshat Paul & Abhishek Nalwaya
7pm – 7.45pm: Talk from IntelleCap (TBD)
7.45pm – 8pm: A short talk from our sponsor – IntelleCap

8pm – onwards: networking! 😉

This event is free and open to all but, there is reserved seating to meet at most 30 people. Please RSVP in advance to avoid organizing constraints. You must register here

Meeting Report: Pune Rails Meetup (Dec 2009)

(This is a report of Pune Ruby on Rails meetup that happened on 12th December. This report was originally written by Gautam Rege on his blog, and is reproduced here with permission for the benefit of PuneTech readers.)

Click on the logo to find all punetech articles about Rails in Pune

It was great to be a part of the Pune Rails Meetup which was held yesterday (19th December, 2009) at ThoughtWorks, Pune. It was an idea initiated by Anthony Hsiao of Sapna Solutions which has got the Pune Rails community up on their feet. Helping him organize was a pleasure!

It was great to see almost 35 people for this meet — it was a probably more than what we expected. It was also heartening to see a good mix in the crowd – professionals in rails, students working in rails and students interested in rails – not to forget entrepreneurs who were very helpful.

Proceedings began with Vincent and _______ (fill in the gaps please — am really lousy with names) from ThinkDRY gave an excellent presentation on BlankApplication – a CMS++ that they are developing. I say CMS++ because its not just another CMS but has quite a lot of ready-to-use features that gets developers jump-started. There were interesting discussions regarding how ‘workspaces’ are managed and how its indeed easier to manage websites.

After this technical talk, I spoke next on my experience at the Lone Star Ruby Conference in Texas. I tried to keep the session interactive with the intention of telling everyone how important it is to know and use Ruby effectively while working in Rails. Dave Thomas’s references to the ‘glorious imperfection’ of Ruby did create quite a buzz. To quote a little from Dave’s talk:

name {}

This is a method which takes a block as a parameter but the following line is a method which takes a has as a parameter! A simple curly parenthesis makes all the difference!

name ( {} )

Similarly, the following line is a method m() whose result is divided by ‘n’ whose result is divided by ‘o’

m/n/o

but add a space between this and its a method m() which takes a regular expression as a parameter!

m /n/o

It was nice to see everyone get involved in these interactive sessions. More details about my experience at LSRC is here.

After this there was another technical talk about a multi-app architecture  that has been developed by Sapna Solutions. Anthony and Hari gave a talk on this and it was very interesting to see it work. Using opensource applications like shopify, CMS and other social networking apps to work with a shared-plugin and a single database, its possible to create a mammoth application which is easily customizable and scalable.

Hari did mention a few problems like complexity in migrations and custom routes which they currently ‘work-around’ but prefer a cleaner approach. Some good suggestions were provided by Scot from ThoughtWorks regarding databases. I suggested some meta-programing to align models. Working with git submodules and ensuring rake scripts to sync up data, this indeed seems to have a lot of potential.

There were some new entrepreneurs from ______ who have already developed a live application in Merb which they discussed and explained details of. It was good to hear about how they managed performance and scalability testing. The Q&A forum which was the next event was extremely interactive. Some of the discussions were:

Which are really great CMS in Rails?

There were some intense discussions regarding RadiantCMS, Adva and even BlankApp. The general consensus was a ‘programmable CMS’ Vs WYSIWYG. Those who prefer more of the content management prefer CMS’s like Drupal, Joomla. Those who prefer more customization via programing and code, prefer Radiant. This topic could not close and is still open for discussion.. Do comment in your views – I am a radiant fan ;)

What about testing? Cucumber, Rspec, others?

Usually its still adhoc – testing is expensive for smaller firms — so adhoc blackbox testing is what is done. I opined that cucumber and rspec ROCK! Cucumber is great for scenario testing and testing controller logic and views. Rspec is great for Direct Model Access and Cucumber can make great use of Webrat for browser testing.

In Rpsec, when do we use mocks and stubs?

It was suggested that mocks and stubs should be used when there are no ready model and code. If the code is ready, its probably just enough not to use mocks and stubs directly. Comments welcome on this!

How do you do stress testing?

Stress testing, concurrency testing and performance testing can be done using http-perf. It was interesting to note that ____ have actually done their own implementation for stress and concurrency testing. I recommended they open source it.

How are events, scheduled job and delayed jobs handled?

This was my domain :) Using delayed_job is the way to go. Following the leaders (github) and using Redis and resque would be great too but definitely not backgrounDrb or direct cron!

What project management tools do you use? Pivotal Tracker, Trac, Mingle?

Pivotal tracker suits startup needs. Mingle rocks but becomes expensive. Scott ? ;) Dhaval from TW mentioned how easy it was to co-ordinate an ‘mingle’ with their 200 strong team over distributed geographies.

Which SCM do you use? git, svn, cvs?

People have been very comfortable with git and more and more are migrating from svn to git.  It was heartening to see that nobody uses CVS :) Jaju (I have have misspelt) gave an excellent brief about how code and diffs can be squished and ‘diff’ed with another repository before the final merge and push to the master. Dhaval gave an idea about how they effectively used git for managing their 1GB source code (wow!)

Some pending questions – probably in next meet-up

  1. Which hosting service do you use and why?
  2. TDD or BDD?

Suggestions are welcome!

About the Author – Gautam Rege

Gautam Rege is the co-founder and managing director at Josh Software, Pune.

Gautam has an engineering degree in Computer Science from PICT, Pune. In his 9 years in the IT industry, he has worked in companies like Symantec, Zensar and Cybage before starting Josh 2 years ago.

Gautam’s technical knowledge spans from various languages like C, C++, Perl, python, Java to software expertize in various industry domains like Finance, Manufacturing, Insurance and even advertising.

As with the company name, Gautam has a lot of ‘josh’ about new and emerging technologies. His company is one of the few which works almost exclusively in Ruby on Rails, the cutting edge web technology that has taken the industry by storm.

(Comments on this article are closed. Please comment at the location of the original article)

Reblog this post [with Zemanta]

Pune Rails Meetup – Dec 19

What: Pune Ruby on Rails Meetup
When: Saturday, December 19, 4pm-7pm
Where: ThoughtWorks Technologies, Tower C, Panchshil Tech Park, Yerwada
Registration and Fees: This event is free for all to attend. Register here.
Event Page: Link

Details

Click on the logo to find all punetech articles about Rails in Pune

Hang out with other Rails geeks in Pune, discuss what’s hot, learn about the bleeding edge and find other like minded people on Rails!

Sessions:

  • Introduction (conducted Session introducing practicioners and their apps on Rails)
  • BlankApplication (Vincent – ThinkDry)
  • my experience at Lone Star Ruby Conference (Gautam, Josh Software)
  • Engine Yard Cloud (Anthony, Sapna)
  • General Open Forum – ask questions to other rails practicioners
  • other spontaneous talks
Reblog this post [with Zemanta]