Archive for the ‘Uncategorized’ Category

Is it still useful to immigrate to Canada as a techie from India in 2019 or after ?

Over the past few years, Canada has become a hot destination for Indian techies to immigrate to. A lot of Indian techies have been immigrating to Canada since the past 5 years, as Canada has opened its doors for skilled immigrants to try their luck and immigrate to Canada. Immigration to Canada has a lot of historical implications as a lot of Indian people have immigrated in the past and have made fortune there. However, Indian tech industry has boomed a lot in the past few years and it presents a whole lot of new opportunities to the people in tech industry in the India itself. In this post, we will analyze if it still makes sense for Indian techies to Immigrate to Canada in 2019. Lets analyze a few important factors which can help in making this decision:
  1. Lifestyle: Lifestyle depends on various factors and depending upon your priorities you can decide which factor weights in more for you:
    1. Medical: Canada has public medical system whereas its private in India. This means that you dont need to pay a penny for medical emergencies in Canada whereas in India, you will need to bear your own medical expenses(in the form of bill payment or the medical insurance payment). It might sound great for some people but private medical system means immediate attention whereas with public medical system you might have to wait quite a bit in the queue to get your treatment done. So both the systems have their owns pros and cons.
    2. 3 Ps: Pollution, population, public service are 3 important Ps in our day to day life. While India is a super fast growing developing economy, Canada is a developed country with settled systems. Canada will definitely win hands down on this prospect for now.
    3. Cost of Living: Canada and India have price parity of atleast 4x. this means that the total living expense in Canada will be atleast 4x of that in an equal sized in India. So Canada is far far expensive in this regard. If you are the one who feels comfort in savings, Canada is probably not the place for you.
  2. Salaries: This is a very important aspect that has changed drastically over the past few years. Though the Canadian salaries in most of the streams match the cost of living parity, you will save much more in the tech streams in India. There is almost same salary in India(dollar to dollar) and though the expenses in India are much lesser than that in Canada, you will end up saving much more. in India.
  3. Taxes: Canada is a socialistic economy supported largely by taxes, expect to pay much higher taxes in Canada than in India. With that said, the earning or business opportunities are much higher paying in Canada.
I hope this post gives an idea of some differences. The decision of whether to immigrate to Canada from India is no longer black and white and dynamic is quickly changing and worth reanalysing especially if you are in tech industry.    

Single Sign-On In Rails Application

Single sign-on (SSO) is a property of access control of multiple related, but independent software systems. With this property a user logs in once and gains access to all systems without being prompted to log in again at each of them. Such as we once log in to google, we are permitted to access the Youtube, Docs, Google Drive etc. dnd1999110501 We may think about sharing the session cookies among the all domains but its generally not a good idea. One can steal cookies to sign in from other system or browser. Single SignOn Helps us in getting around this problem and implement a much robust system. How do we implement Single Sign-On in Rails App? We will try to get our hand around on how to build a prototype around a rails app to implement single sign-on. We will be looking a sample rails application powered by CASino gem Why we are using CASino ?
  1. Distributed under MIT LIcense
  2. Active Development since
  3. External authentication sources (LDAP, SQL)
  4. Two-factor authentication
  5. Session-overview for logged-in users
  6. Full localization support
  7. REST-API
So what is CASino exactly? CASino is a simple Single sign-on server application. It supports the CAS protocol and can therefore be used in combination with almost every web programming language out there. CAS is an authentication system originally created by Yale University to provide a trusted way for an application to authenticate a user. CAS centralizes authentication: It allows all your applications to ask users to login to a single sign-on server The implementation. Here we have two apps client and server. We assume that the app is using devise for the demonstration purposes. The Logic can easily be extended to other authentication methods though. The app is as simple as configuring a few variables in the CASino gem.
  1. user request to client domain .
  2. it redirects to the server if not authorised.
  3. Start with adding the gems client app
  4. redirects to back url to whichever client request url is
Step #1 Implementing the client application. Gemfile # If You face some compatability issues then use ruby 2.1

gem 'devise_cas_authenticatable', git: '<a href="https://github.com/jpamaya/devise_cas_authenticatable">https://github.com/jpamaya/devise_cas_authenticatable</a>'

routes.rb

devise_for :users, skip: [:sessions], controllers: { cas_sessions: 'sso_cas' }

devise_scope :user do

get "sign_in", to: "devise/cas_sessions#new"

delete "sign_out", to: "devise/cas_sessions#destroy"

end

devise.rb # ==> Configuration for SSO server authentication

config.cas_base_url = "http://localhost:4000/"

config.cas_create_user = false

config.cas_destination_logout_param_name = 'service'

config.cas_enable_single_sign_out = true

User.rb

devise :cas_authenticatable

Now run client application on localhost:3000 and begin with typing users/sign_in Since we overwrote devise’s sign in mechanism, so instead of presenting devise’s normal sign in page, we are redirected to localhost:4000 which is the backend app to authenticate the users. Lets prepare the backend app to authenticate the users.  Step #2 Start with implementing code in server app limitation use ruby ruby “2.1.5” and rails “3.2.11” check rails -v ‘~>(‘ 3.2.11’). for server app Gemfile #It users these db to store sessions and some tokens. casino will take care all about these

gem 'sqlite3'   # for sqlite support

gem 'mysql2'    # for mysql support

gem 'pg'        # for postgresql support

gem 'casino'

Run bundle install and rails g casino:install The CAS configuration is stored under config/cas.yml. This is where you configure how your SSO handles logins. An example configuration can be found in the file config/cas.yml.example provide the valid db credentials and run the migrations. Run this app on localhost:4000 , Just follow the old steps
  1. Goto localhost:3000/users/sign_in
  2. You will redirected to localhost:4000 enter credentials click sign in
  3. You will be redirected back on successful login
In the links below you can find some ready made examples for you to clone these  apps and have better understanding of SSO.
Server exampleruby “2.1.5”git clone https://github.com/codescrum/casino-sso-server-example.gitRails 4 client examplegit clone https://github.com/codescrum/casino-sso-client-rails4-example.gitRails 3 client example git clone https://github.com/codescrum/casino-sso-client-rails3-example.git
Let us know in comments if you face any troubles in the implementation !! PS: Single Sign-out has been left as a thought for another day and we will discuss that in a follow up blog.

Placement drive held as on 16 July,2011 in SGI, Samalkha

This is to inform, that the candidates who have been informed to be shortlisted in the placement drive conducted by Mr. Shekhar Guru from Campus Evangelist, training & placement div. TCIL-IT, as on Saturday, 16 July, 2011 in Samalkha Group of Institute, that Enbake Consulting has not conducted any personal interviews and haven’t issued any appointment letter/interview call to any candidate. Company is not hiring right now and whenever it does so, we will inform you well in advance. For any further information, please contact: Campus Evangelist, training & placement div. TCIL-IT Mr. Shekhar Guru: 09872403977, 08968659511 Thanks and Regards Geetika Trivedi (HR Division) Enbake Consulting