The myth of the perfectly generic and reusable solution
Often times when I set out to do something new on the job, I hear a simple requirement over and above the actual business function – keep it generic enough that it can be reused. And I set about it to...
View ArticleBuilding a rudimentary cache in Python using Twisted
Every now and then I try and see if I can take something that I built in Java and build it in Python. After having thought of doing a socket application in Python using the Twisted framework, something...
View ArticleBuilding a rudimentary cache in Python using Twisted – part 2
I decided to go ahead and try using the cache that I built for some scenario that I might expect to see in real life. Part of the work I do daily demands that I start one thread to create some data...
View ArticleHow solutions/platforms grow, evolve and become extinct
Every so often, I hear someone saying or writing about how a particular solution seems wrong and how given a chance they would design it properly and show how it should be done. My reaction – bravo! if...
View ArticleCasting nulls in Java
I admit this was something that I never noticed, even though I have used it day in and out. And it was a surprise when I realized it. I have been working extensively on messaging systems and...
View ArticleUnderstanding transient variables in Java and how they are practically used...
What is the significance of the transient keyword in Java? If you know the answer, good! you are a person who uses this a lot or a person who has read this very recently. If this seems like a word from...
View ArticlePassing entities between two systems that do not allow the same set of...
If you have ever worked on any sort of adapter – a piece of code that takes entities from a particular system and then makes it available to a different system – then you definitely must have come...
View ArticleThe DEV estimate from hell – why some things seem to take a lot longer to get...
We all have given estimates for development work – and we all have either missed them at some point or have been asked why it takes so much time to get something done. How and what we respond to...
View ArticleLocking issues with Java blocking queues
A while ago I had posted about issues with poll() vs pol(timeout) on the Java concurrent blocking queues, and issues with the bucket sizes of concurrent hash maps. Those solutions worked well – but the...
View ArticleBuilding a simple journey planner
In my last blog I mentioned about using a Scrapy crawler to build information about the bus routes in Hyderabad. Once I had the data in place, what to do with it? Since I had all the routes and...
View Article