Return system date time in UTC from getter and show in user (browser) timezone on client side (using moment-timezone.js which is moment.js extension select the download with timezone data)

When the setting come to be saved using update_attributes in controller it eventually calls model setter (sys_date_time=) where you convert it back to utc given the timezone info (ActiveSupport::Timezone[zone] is your friend with ActiveSupport::TimeZone[zone].parse then in_time_zone(‘UTC’))

Validation is tricky as this is not a db backed and getter returns the calculated value which is always valid. You need to validate input first thing in setter and set a new member variable with errors found. Then add a validate do … end block where you iterate through the new member variable with errors and do errors.add(attr, message).

Siri is the worst implementation of voice based assistant today. Apple has done very little to improve it overtime so far. I have been using iPhone for many generations of iPhone now and am constantly disgusted and frustrated by Siri.

In contrast, whenever I have used Google’s implementation of voice based assistant either on iPhone or somebody else’s Android it has never let me down. Google’s implementation is far superior. One of the ways it is superior is it does not need an active internet connection to dial a number from my address book or many other local tasks.

Being a software developer I cannot understand why Siri cannot do anything without internet connection. There is no need to send everything to the cloud with a potent device like iPhone in hand. I remember my early MS Window Mobile (circa 2006) could do much better voice recognition than Siri.

I do not understand why it is hard to voice dial people in my contacts or detect their name also why there is no feature to announce who is calling on an incoming call.

Bottom line Siri sucks and if you are using iPhone you are stuck with it. If Apple can’t do a good job improving Siri at least they should let you plugin your own voice assistant as a first class provider (system wide not just in a particular app).

Basedon my 15 years of software development experience, striving to continuously improve and looking back at what I could have done better I wrote the following advice for new and junior software developers on Quora:

Don’t say I am a Java or .NET developer and restrict yourself to only those platforms

Don’t stay in the same company for too long, some times you settle for 1 year of experience repeated 5 times rather than 5 years of real experience. You can always come back to a company if you like it better than the next one. In large companies you can move to a different group.

Don’t move too fast, take the time to learn from the smart people around you. If you are the smartest person there leave immediately.

Keep learning new and perspective changing technologies and not learn more of the same. For instance:

If you know a object oriented language (C++) learn functional language like Haskell

If you know a statically typed language (Java) learn a dynamically typed language like Ruby

Keep an eye on the trending technologies and briefly explore them to get a taste of them

I was looking for some exercise problems for a programming class I am teaching and encountered Knuth’s TPK problem on http://cs.fit.edu/~ryan/compare/ comparing solutions in different languages but did not find my favorite language and thought I would do it in Ruby and may be submit for inclusion there.

The TPK algorithm reads in an array of 11 values, applies a particular function to each value, and then writes the result in reverse order. It serves just to illustrate some of the usual actions that an imperative programming language must perform.

Amazon Free Time feature for have a sandbox account for children with set allowed apps, books and daily time limits. This is a main reason to get Kindle Fire HD for me (I have iphone and ipad and can act as an Apple fanboy at times).

Integration of all the Amazon Services in one device. Audible, Books, Apps etc.

Amazon App Store let’s you know if this app is works for your Android device. A major improvement on what I have seen for other Android Tablets

Bad:

The power and volume buttons are very hard to press. They are pretty much flushed with the body and hard to find at times without looking hard for them.

Customer Service is not educated properly on all the features, specially Immersive Reading Experience. If you have an issue with that please contact Audible Support.

Flash does not work and is not supported anymore but not their fault as Adobe has stopped supporting it. I finally found a way to get Flash working on Kindle Fire HD 8.9″

Immersive Reading Experience can very frustrating as I downloaded both the Book and Narration and still did not work for me for some books. Even working with customer support for hours did not resolve it.