Mapping OO Interfaces to REST
October 28, 2013
A few days ago, my BBF (Big Boss Forever) Vijay R asked the following question:
Any resources on how to map OO design (controlled state change via methods) to RESTful services? #help
— Vijay Ramachandran (@vijay750) October 24, 2013
Here’s what I think about it. There are a few things that are very different about designing HTTP APIs as compared to language-native implementation design:
The goal of an HTTP API is to minimise coupling and facilitate interoperability, which is less of a concern when the usage environment is restricted to a single programming language and its runtime
Continue reading →
Six Months with Nikon D7100
October 27, 2013
It’s been more than six months since I have had a Nikon D7100 for my own and I have been thinking of writing down my thoughts about the camera. However, these six months with the camera have been a bit of an up-and-down journey and it’s only now that I feel like I know the camera enough to write about it.
The D7100 is an enthusiasts’ camera and it will make you earn that title before you can be get along with it.
Continue reading →
The Lost Flickr of Hope
July 4, 2013
I woke up this Tuesday morning to a shock.
OMG this Yahoo! bar on top of @Flickr is fugly. If this bar doesn’t go from Flickr, I will. pic.twitter.com/dolGKR8jJu
— Tahir (@codie) July 2, 2013
This bar is wrong in a lot of ways. The way it stands out in all its ugliness from the rest of the Flickr visual design speaks volumes about how it was executed (thoughtlessly, in a draconian way), how little the Flickr development team have a say in how things work (I can’t imagine a product owner who would allow such visual desecration of their product without a protest) and how little Yahoo!
Continue reading →
From Shooting RAWs to Shooting JPEGs
May 10, 2013
To Shoot RAW or JPEG? I have been shooting photographs regularly for over 7 years now. I spent the first year shooting with a 2 Megapixel phone camera. Since then, however, I’ve almost always had RAW capable cameras and shot RAW compulsively. And why not? I get 16x or 64x more colour depth than JPEGs. I don’t have to bother about setting the right white balance, contrast or sharpness. I don’t have to choose between monochrome and colour at the time of shooting.
Continue reading →
Nikon D90 vs. Sony RX100 in Goa
March 8, 2013
Last weekend I was in Goa on a leisure trip, which gave me an excellent opportunity for some photography. I carried the RX100 for landscape and street photography. The D90 also came along mainly for long range shooting with the 55-300mm VR and low light shooting with the 50mm f/1.8D. This trip allowed me to sort out some things related to the pros and cons of using a big DSLR vs.
Continue reading →
Nikon 1 J1 Review
February 25, 2013
My gear has evolved from P&S to DSLRs over the last five years, and each year I end up buying a new camera. The focus this year, was on reducing the size and weight of the camera gear, unlike previous years where I had been looking to acquire the latest sensor technology (although I was tempted to swap my D3100 with D3200!).
What started out as a quest for cheap backup P&S, ended up as a story about Nikon 1.
Continue reading →
Impact of Sensor Size on Performance — a Contemporary Survey
February 9, 2013
I am in the middle of a choice between interchangeable lens systems and one of my pressing needs is the selection of a system that lets me have a smaller, lighter camera bag. Now is not a bad time to be shopping for cameras, with so much choice being available across price brackets and IQ variance. As always, having a lot to choose from is another way of getting confused, so I decided to do some objective data analysis to figure out what’s what.
Continue reading →
The Compiler as a Refactoring Aid
January 23, 2013
Recently, I sat down to refactor a Go application with a high-level design objective in place. The application had two conceptually separate entities implemented in different files but mashed into a single package. I needed to separate them out into their own packages. I wasn’t using an IDE — just Emacs with basic formatting and non-contextual auto-complete aids.
I started out by creating a new directory for the package to be split out and moved the files that contained most of the relevant code into that directory, without thinking of the consequences.
Continue reading →
Go Workshop
January 21, 2013
Last week, I conducted a 2 day Go Workshop at my workplace. It was fun.
I started day 1 with the excellent Go at Google presentation by Rob Pike, followed by my own presentation of Go’s key features. The rest of Day 1 was spent taking the Go Tour.
The coolest thing I did was on day 2. I mirrored my laptop on the projector and went through a fresh install of Go from source on my [newly allocated] dev box.
Continue reading →
Why I Program in Go
January 5, 2013
Go is a fresh new programming language, that has come out of Google and is primarily targeted towards server development. It is developed by some very accomplished computer scientists, like Ken Thompson and Rob Pike. I recently launched a significant new product built with Go at work, and it has proved itself out very well in terms of developer productivity and performance. So much so that many other teams are also giving it a go (oh, how punny this language’s name is).
Continue reading →