Showing posts with label RoR. Show all posts
Showing posts with label RoR. Show all posts

Monday, June 22

Recruitment Pains -1

Note: Expressed here are my personal views and experience.

All these five years I never felt that recruitment was such a pain. I am not referring to freshers but to the so called experience guys 2+. Was trying to help my friend in getting a good Ruby on Rails resource. Though this was not the first time, and I have done even at all my previous companies but I should say it's a totally, shockingly new experience.
  • I heard that in telephonic interviews people try to fool the interviewers under the wrong names or even speaking on behalf of someone else. Observed the same with one of the candidates from Karnataka, India.

  • Another great gem who claims to be working for a budding company from past 2.5 years, but the truth is he started working only couple of months back and he was trying to fool us.

  • Another beautiful one I can't even think of something like this. A guy claimed to be 1.9 yrs experience in Ruby on Rails went through the couple of rounds of interview and was not bad. So we offered him the position so irresponsible was he, didn't even respond back. So withdrew the offer.

  • One of the coolest one, which you got to hear... Another aspirant(friend of above mentioned guy) sent us the same application and claimed it to be done by him entirely.

In the whole process what I failed to understand was, why can't people be genuine to themselves. What were such candidates trying to prove?
Can they perform same way, even they were offered the job?
Why do they create wrong impressions and ultimately they will be in trouble by not performing?
...
...
...
I can list many more... but what's the use.

But I would like to stretch out and help other Ruby on Rails recruiters by sharing away their names. Hoping to save others time and money.

Saturday, April 18

toghq: extensible open source social networking platform


It was couple of back in January, I decided to write  on the RoR based social networking applications.  And I had taken the widely accepted bunch of apps and made a nice and useful doc out of it here.  I have been getting pretty good response on this post @ Scribd & slideshare.

  To continue with my exploration, from couple of weeks I was playing with toghq.  A beautiful one and easy to extend.  I thought I would share my thoughts on this.  

  The beauty of toghq is in it's extendability and agility.  Tog, contains set of plug-ins that are very easy to integrate and easy to use.  One such plug-in's that impressed me that I would talk today is tog_picto.














top_picto, is the photo management plug-in with tog.  What impressed me is:
1. Easy to manage
2. Photoset creation, manage, delete
3. simple drag drop to create/delete photosets
4. multiple image uploads
5. taggable, commentable, rateable...
6. mulitsized photos

Thanks to Haritha, for her help with screenshots.

Thursday, March 5

Web Accessibility principles

I was going through my juniors work on Ruby on Rails. I was helping them to build some interesting web applications. And then the discussions lead to design, usability and accessibility of the application. As they don't have enough exposure on web applications, I quoted few articles and books to say UI is as important as functionality. Of which, I highlighted the "Ten Principles for Web Accessibility" from "Pragmatic Design & Accessible Web Sites" by Jeremy J. Sydik.
  1. Avoid making assumptions about the the physical, mental, and sensory abilities of your users whenever possible.
  2. Your users’ technologies are capable of sending and receiving text.
    That’s about all you’ll ever be able to assume.
  3. Users’ time and technology belong to them, not to us. You should
    never take control of either without a really good reason.
  4. Provide good text alternatives for any non-text content.
  5. Use widely available technologies to reach your audience.
  6. Use clear language to communicate your message.
  7. Make your sites usable, searchable, and navigable.
  8. Design your content for semantic meaning and maintain separation between content and presentation.
  9. Progressively enhance your basic content by adding extra features. Allow it to degrade gracefully for users who can’t or don’t wish to use them.
  10. As you encounter new web technologies, apply these same principles when making them accessible.

Link to Book:
http://www.pragprog.com/titles/jsaccess/design-accessible-web-sites

Friday, January 23

RoR based Social Networking apps compared

Ruby on Rails and Social networking are probably few that took limelight when WEB2.0 bug was bit! You hear/find/discuss... everywhere on these, and I thought it would be good idea to club the both and do a comparison withing social networking Applications based on Ruby on Rails.

RoR Based Social Networking Apps Compared

Tuesday, December 30

Usability Tip: Ajax loading/busy indicator

What is Ajax?
In a nutshell, "With Ajax,web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page".

  Now that these requests are happening at the background, user should be aware that the application is trying hard to retrieve the data.  But, How do we do that?

This is where we can use Ajax loading/busy indicator.  We show some text/image saying that we are working/loading... until the request is completed.  This would increase the usability and end user will be happy enough.  
  I am going to show it's implementation in RoR based web applications.  

Module ActionView::Helpers::PrototypeHelper, takes care of Ajax implementation through prototype library.





as you see the rails form tag helper comes out with interesting usability options. Above we just implemented, :loading & :complete options where-in it would show/hide particular div ("loading"). And what's in that div?




well it's done.  
Few samples...




Do I need a designer? 
hmm... we don't need designer for every thing. Especially this usability can be entirely handled by developer.  

How do I create an image? I don't have prior experience! 
Not needed just follow 3 simple steps 
2. select Indicator type, colors. 
3. Generate & Download It  

I don't know RoR, how can I do it in PHP/Python/Java/JavaScript? 
This needs prototype, JavaScript library that provides DOM manipulation. The same is achieved like this:



use the above snippet.

Wednesday, November 12

Integration Testing: xml_http_request

I was referring to Agile Web Development with Rails book to implement the Integration testing. And as per the book it

xml_http_request "/store/add_to_cart" , :id => ruby_book.id

and strangely I was getting syntax error. Seems the book did miss out another parameter which would define the method type. Referring to online documentation, made things clear.

xml_http_request(request_method, path, parameters = nil, headers = nil)

Performs an XMLHttpRequest request with the given parameters, mirroring a request from the Prototype library.

The request_method is :get, :post, :put, :delete or :head; the parameters are nil, a hash, or a url-encoded or multipart string; the headers are a hash. Keys are automatically upcased and prefixed with ‘HTTP_’ if not already.

Saturday, November 8

Ajax even @ home - I am serious

It's been over two years I heard about this buzz word "AJAX". In fact I came to know about this through one of resumes that I interviewed for php programmers. And once I picked up Ruby on Rails framework, it became pretty common in daily work. Well to cut short and justify title of this post "Ajax even @ home - I am serious". Can't believe? See down ...



Have a nice weekend :)

Friday, March 7

RoR Workshop @ Hyderabad - Twincling

I am planning for a workshop on Ruby on Rails introductory level. The agenda of the workshop is

  • to introduce the Ruby on Rails
  • MVC Architecture
  • ActiveRecord
  • ActionController
  • ActionView
  • ActionMailer
  • Pagination
  • Ajax
  • Rails demo with project
For more details about the venue and organisation details, visit Twincling.
More about the workshop will be updated through the posts, keep watching :-)

Tuesday, February 26

Ruby on Rails relevance to Startups - @ BarCamp

The barcamp5 hosted by Google Engineering Hyderabad :)
Many bloggers had already spoken their part about the proceedings through live blogging.
In brief, there was bit chaos on arranging things, running the talks/session parallely, and finally it was more like session with less user participation (devitation from what usual BarCamp famous for!!!)

Sumanth Krishna @ Ruby on Rails Conferences/Communities


I wanted to present on my favorite Ruby on Rails and since BarCamp is the place where lot of young minds, entrepreneurs... assemble. So I related it (RoR) to Startups and on "Ruby on Rails relevance to Startup's". I started the session post lunch around 3PM. I did present my views on very well about the startups and when the slides related to Ruby on Rails started, I just carried away more in explaining the details of RoR.


Slides: "RoR relevance to Startups" @ Google sponsored BarCamp5 :)
Scribd
SlidShare


Please feel free to enhance/comment on the presentation.
I am planning for a Workshop on Ruby on Rails with support of Twincling society :-)

Wednesday, December 5

Ruby on Rails - Course structure

You find lot of materials, websites and many articles where you get information about Ruby and Ruby on Rails.
Well, do not get over loaded with the information. If anybody is serious about learning and practicing Ruby on Rails, can make use of the below course structure. This course structure, I had just jotted down to train freshers and friends whoever interested to know more about RoR.
Note: This structure is framed based on
  1. my experience in RoR.
  2. my previous session on RoR gathering.
If anybody is interested can contact me for more information.

Download Ruby on Rails course structure in pdf

Prerequisites for the RoR Course:
The course is structured keeping in view of less experienced/freshers in the industry. So considereable time is given for all introductory topics.
However, having knowledge/experience is an added advantage:

1. Exposure to any of the programming languages (c,c++,c#,java...)/Scripting languages(perl, php, smalltalk...).

2. Overview on how web application works.

3. Understanding of the necessity of Data models, Configuration Management.

4. Necessary tools/IDE's (Eclipse IDE, notepad...)

5. Good Analyzing skills.

6. Web Technologies (HTML, JavaScript, CSS, XML, )

Download Ruby on Rails course structure in pdf

COURSE CONTENT

Introduction

· What is Ruby?

· What is it used for?

· Where do I get and install Ruby?

· Core facilities, built-in library and standard library.

· Basic concepts - object orientation, regular expressions, arrays, hashes, etc.

Basic Ruby Language Elements

· Structure of statements and comments.

· Variables and constants.

· Operators. Assignments, calculations, etc. Integer, float and string formats.

· Single and double quotes, here documents, general strings.

Control Structures

· Blocks and the if statement.

· Writing conditions.

· Comparative, boolean and range operators.

· Conditionals - if, unless, case, etc. Loops - while, for in, until, etc. break, next, retry and redo. defined? and ternary operators.

Object Orientation: Individual Objects

· History - unstructured and structured code. Introduction to object oriented programming.

· Classes and methods.

· Static and nonstatic.

· Instances, constructors and destructors.

· Accessing members of a class.

· Loading and using classes.

· Direct access to variables.

· Encouraging class use.

Classes and Objects

· Objects, classes and methods.

· Constructors and attributes.

· Instance and class variables.

· Local and global variables.

· Class and object methods.

· Including files - load and require.

Collections (Arrays and Hashes) in Ruby

· What is a collection?

· Arrays and hashes.

· Constructing an array.

· Nesting arrays. Hash keys, iterators, etc.

More Classes and Objects

· Public, private and protected visibility.

· Singletons and defs.

· Inheritance mixins, and super.

· Destructors and garbage collection.

· Namespaces and modules.

· Hooks.

· Calling methods with code blocks.

· Looking inside objects - reflection.

Strings and Regular Expressions

· Anchors, literals, character groups and counts.

· Matching in Ruby.

· Modifiers i, o, x and m.

· Pattern matching variables.

Special Variables and Pseudo-Variables

· ARGV, $0 and friends - the command line.

· Other special variables from $: through $ to Other special variables from $: through $ to Other special variables from $: through $ to Other special variables from $: through $ to $<. lt;. lt;.

· Environment variables.

· Pseudo-variables.

· Reserved words in Ruby.

Exceptions.

· begin and end (and a mention of BEGIN and END).

· Raise and rescue.

· Throw and catch.


Download Ruby on Rails course structure in pdf

Ruby on the Web

· CGI and the Ruby Apache Module.

· Using cgi.rb; URL decoding, forms, sessions, cookies, etc.

· Embedding Ruby in HTML - the <% <%= and <%# tags.

Ruby GUIs, XML, MySQL Database Connectivity

· Using Ruby/DBI to connect to MySQL, Oracle, etc.

MVC ARCHITECTURE

· What is MVC Architecture?

· Importance of it?

· How it helps?

WebApplications

· What are WebApplications?

· Essentials of WebApplications?

· SDLC (Software Development Life Cycle)

· Database Architecture

· Configuration Management (concept & tools)

· Application/Web Servers


Rails Framework

· What is Ruby on Rails?

· MVC (Model, view, controller) design principles.

· Rails structures -

o WEBrick servers,

o URLs and embedded code.

o Directory structure.

o Database connections.

· Creating the application

o the database and tables.

· First application through Scaffolds.

· Validation and customising the display.

· Adding a new controller.

· Adding viewers and layouts.

· Active Records.

· Emailing and logging from within Rails.

Ajax

· What is AJAX?

Ajax on Rails

· How to implement AJAX on Rails framework?

· What is Protoype?

· What is Scriptaculous?

· Ajax Effects.

· Rich UI experience.

· Visual Effects.


HOW TO PUT ABOVE LEARN T CONCEPTS IN TO REAL TIME PROJECTS?

Download Ruby on Rails course structure in pdf
I am open to receive any enhancement tips and open for discussion on the course structure.(tosumanthkrishna AT gmail DOT com)

Ruby on Rails - The 10 Most Marketable Web Development Skills

After the brief talk on Ruby on Rails at Twincling society which was successful and satisfactory, I am keen on writing and talking more on Ruby on Rails development.
So one of the FAQ's I face most is
What is Ruby on Rails and what is the market for it?
I stumbled across one such article "The 10 Most Marketable Web Development Skills", where the list of web development skills provided.

Note:
  • This is not any comparison but just listing out current web developement skills that have market.
  • The order of the list is not based on any popularity.

Thursday, November 22

Ruby on Rails - RoR

It's been quite appreciable amount of time that I spent on Web Technologies and been involved with many web based products. I was working on RoR. Yes it's the same thing much talked topic among developers and many web gurus.
Ruby on Rails :

Why to re-invent the wheel?
I am not going to talk on
What is ruby?
What is Rails?
Because many had already done enough work on that.

Then Why this post?
Recently I had been to a talk on Ruby on Rails, attended by many people belonging to different groups like from developers to mangers. I was very much inspired by the speaker. Mr. Rajasekhar an eminent speaker, I would say he did really good job by framing up all necessary details for any fresher to start experiments on Ruby on Rails in just 3 - 4 hours of session.
I got an oppurtunity to explain and elaborate the concepts with working examples and live projects here and there between Rajashekar's session.



The session went on so well and also it was a gentle reminder for me to start sharing on RoR.

Geeks watch out this space... more to come!
More about the Session
More about the OpenSource Community