iOS app development: What’s next

 by Shalin  on   01 May 2012

We started 2012 with launch of our first iOS app – a personal productivity app – Wonderful Day for iOS. The app hit the charts on launch and got plenty of reviews. Some of them include by: Woikr, MyMac and TechinAsia.

We are now working on our second application. The app is long due and under works. We’ll have a sneak peak coming out soon. Stay tuned.



It’s time to have a Wonderful Day, everyday!

 by vinay  on   21 Feb 2012

We at Tenmiles are big fans of Apple. We also love churning out products every once in a while. Therefore, venturing into iOS app development was a step we were always going to take. Yes, you read it right! We just released our first iOS app and it’s all about making your day wonderful! Say hello to Wonderful Day.

Wonderful Day - iOS productivity app

Wonderful Day aims to help you develop the habits that you aspire to have, by motivating you everyday. Inspired by Jerry Seinfeld’s Productivity Secret, it visualizes your goals in a way that screams out “Don’t break the chain!”.

Like what you hear? Get it from the App Store and start your chain of wonderful days today!



Marketing Internship, Chennai, India

 by vinay  on   22 Sep 2011

As part of our plans to grow our operations, we are looking for promising interns who can work as Marketing Coordinators.

While we have the marketing know-how and the sales strength, we need smart young people who can execute our ideas in these areas. We’re thus looking for people who are energetic, can understand markets quickly and communicate clearly.

We have products that do most of the selling themselves, so your job is that much easier, and that much more fun! The team is comprised of some of the most interesting people you’ll come across in the city. And the icing on the cake? – a monthly paycheck. So if you want to take a shot at this enviable position, and subsequently a possible full time position at Tenmiles, shoot an email to jobs@tenmiles.com and tell us why you think you’ll fit this role. Be sure to include your mobile number. A resume is optional but make sure it’s in PDF format if you send it.



Tenmiles is growing and we’re hiring!

 by vinay  on   21 Sep 2011

Tenmiles just turned eleven last week and we are celebrating by expanding our team!

Tenmiles is known as that small bunch of interesting people in Chennai who churn out world class software products. We build software that looks great, works like a charm, does the job and doesn’t take water breaks.

With world class products at hand, we’re now looking to scale our global reach and operations rapidly. We’ve been one of the few successful and profitable software product companies in the country, and we’re proud of it. If you would like to be a part of our growth story, have a look at the current openings in our team :-

Engineering

  • Rails Developersread more
  • Django Developers
  • iOS Developers – read more
  • Linux Engineers
  • QA Engineers

Sales & Marketing

  • Channel Managers
  • Account Managers
  • Product Marketing Manager – read more
  • Product Evangelist – read more
  • Marketing Coordinators (open to Interns) – read more

If you think you will fit under any of the above, tell us why you think so by shooting an email to jobs@tenmiles.com. We’re more interested in your practical experience and your passions than how much you scored in 12th grade mathematics. If you want to include your resume, make sure it’s in PDF format.



Rails Refactoring tip: Dry up your constants

 by Lakshman  on   04 Aug 2011

If you observe your rails app, you might come across some set of values constantly being used. It is a good idea to identify them and dry them up. For example, in the models, you might have used a Regular expression for checking the validity of email attribute.

in app/models/account.rb

 validates_format_of :email,:with => /(^([^,@\s]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i 

in app/models/delegate.rb

validates_format_of :email,:with => /(^([^,@\s]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i

Don’t you see, its very hard to keep using it across models or any other ruby files. For this, We can create a file called constants.rb in config/initializers and declare a constant (with a good, rememberable name) there.

In config/initializers/constants.rb

EMAIL_REGEXP = /(^([^,@\s]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i

Restart the server now. Then in the model file shown above, we can use it like

validates_format_of :email,:with => EMAIL_REGEXP

We can use the same technique with other constant values that are used more than once in the application.



Equality Gotcha of ActiveRecord Objects

 by Lakshman  on   22 Jul 2011

Two Activerecord objects when compared over == operator returns true when they are instances of the same ‘model class’ && if they have same ‘id’ values. This operation is not an attribute-by-attribute comparison. Beware, this behavior can give problems when you do a lot of == operations b/w Activerecord objects, in your application, in which case you need to override == operator of ActiveRecord::Base according to your needs.

Here is a sample behavior of == operator.

ruby-1.9.2-p180 :001 > p1 = Person.first
=> #<Person id: 1, name: “John”, email: “john@gmail.com”>
ruby-1.9.2-p180 :002 > p2 = Person.first
=> #<Person id: 1, name: “John”, email: “john@gmail.com”>
ruby-1.9.2-p180 :003 > p1.name = “somethingelse”
=> “somethingelse”
ruby-1.9.2-p180 :004 > p1.save
=> true
ruby-1.9.2-p180 :005 > p1
=> #<Person id: 1, name: “somethingelse”, email: “john@gmail.com”>
ruby-1.9.2-p180 :006 > p2
=> #<Person id: 1, name: “John”, email: “john@gmail.com”>
ruby-1.9.2-p180 :007 > p1 == p2
=> true