Posts
Rails: Please include a JS test runner
For an opinionated framework like Ruby on Rails, I expect it to come pre-bundled with a CoffeeScript based test framework and test runner. Here’s why:
Teams don’t need to waste time deciding which one to use among the mess of Jasmine, Mocha, Expect, Sinon, Chai, Bower, Grunt, Teaspoon, Npm… you name it.
It’d work better than what’s out there since the Rails team will focus on clean integration with Rails and will have a much larger user base to collect contribution from.
Posts
You Can Haz Automated REST API Documentation
Let’s face it, the manual process of documenting REST APIs sucks big time. The process goes like this:
Craft a cURL request for an API Endpoint. Copy the response. Narrate the API, paste the cURL and response on an editor. Edit the response, describe necessary request and response headers, query parameters etc. Repeat steps 1-4 for each of your tens of Endpoints. Publish the documentation on the web. Repeat these steps for each release.
Posts
2015
This is a much shorter new year post. 2014 was the year of focusing on health, soft-skills, Haskell, social contribution and PhD in addition to typical everyday stuff. Hoping 2015 will be the year of:
reconnecting with friends and relatives
perfection
While Facebook and Twitter make it easy to browse through my friends’ photos and status updates, I feel quite reluctant to interact on these media. Also, this passive mode of keeping in touch sucks, since my friends are largely unaware of the fact that I still care.
Posts
Lessons Learned: Entrepreneurship and Innovation Course
This fall semester, I signed for the Entrepreneurship and Innovation course (ENTI 781) at the Haskyne Business School of University of Calgary. Wanted to capture my thoughts on this course for my readers here.
First, the course was unconventional since there are very little academic material to teach entrepreneurship and innovation. The teacher, Olga Petricevic, did a decent job of collecting materials comprising of academic papers, case studies, newspaper articles and YouTube videos as well as bringing in a local entrepreneur for a lecture one day.
Posts
What's wrong with the default alert rendered by the browser?
Browsers have carefully crafted the alert and confirm dialogs for everyone under really simple APIs as follows:
alert('Failed to send the email. Check your network connection.'); confirm('Are you sure you want to delete this email?'); While writing cross-browser JavaScript is not as painful today, custom implementation of these natively supported dialogs seem to be a complete waste of money and time to me. With all the different browsers that we have to support today, including the mobile browsers, it seems a lot of wasted effort in trying to render a custom alert and confirm dialog under any circumstance.
Posts
100 Miles, a 100 Miles...
So, on the 18th of October, 2014, I’ve completed my goal of running a 100 miles in 50 days and wanted to share some data for my readers. Enjoy!
Posts
50 Miles!
In my previous post about the 100 Miles Challenge, I shared my goal to complete a 100 mile run in 50 days. And I’m happy to reach the 50 Miles milestone on day 24, happened this Saturday! 46 Miles to go now, but the target sure looks reachable from here.
I changed a few things on my end. After running for the first couple of weeks, I found my legs weren’t feeling great.
Posts
On Keeping Things Simple
Software architecture, or any design for that matter, needs to strike a fine balance between simplicity and power. Sometimes, the design needs to deliberately remove elements that’d make life better in some way but also cause a lot of frictions in other ways, ways that may not really impact the designer.
A few examples to explain this. Client side MVC frameworks on top of a server side MVC framework. Client side URL routing on top of server side URL routing.
Posts
Monolith vs Microservices
Microservices are talk of the town these days. I wanted to share my thoughts on microservices based on some experiments that we are running into at our current project.
SOURCE: https://www.flickr.com/photos/31366276@N03/9327275207/in/photostream/
Recently, we deployed a microservice for two-step verification feature on one of our projects. This was a strict business requirement, because having a separate server to store your 2nd-factor authorization provides additional security in case the servers hosting your primary factor are compromised.
Posts
100 Miles in 50 Days Challenge
Weightloss is a tough chase. I’ve attempted many times and failed.
Here’s a photo of day 2, when I ran my first 5K in years.
Last year I decided to change the focus. Instead of aiming for weightloss, I started aiming for a better lifestyle. To some extent, that worked. But I can’t say it really made a big difference of any sort.
I always thought I was a team sport person and hated doing anything only by myself, so much so that, I need a partner even for swimming.