Multilingoism and the poor programming array


I recently went to a Citibank ATM in the iLabs building only to realize the power of arrays J construct of programming languages. If you recollect, once you swipe your card, you see a multi-lingual screen that asks you to choose your preferred language. Mine is English or Hindi. I chose English only to find Telugu text in the following screens. The illiterate that I am when it comes to Telugu, I cancelled the transaction and tried again. I again got the same response and boy was I angry?. Well, I had to get the money somehow. So I wondered how? This is what happened next.

I swiped my card again and chose the language shown next to English, just below it. What I saw next seemed to make sense. The following screens showed Marathi text which in the original list was just after Telugu. So, that was it. An accidental error of array indices. Somehow the display showed the languages shifted by a certain index based on the “magical array” used by the developer who loved the country more than I do (and hence made me learn other languages). One thing I was glad about however was that the array was circular ;) so I didn’t read anything that didn’t resemble like an Indian language.

Books for Software Architects – a collection (from Linkedin group “97 things an architect….”)


1. The Art of System Architecting; Eberhardt Rechtin + Mark W. Maier; CRC Press; 1997

2. xUnit Test Patterns.

3. Essential Software Architecture, by Gorton.

4. Beyond Software Architecture:Creating and Sustaining Winning Solutions, by Holmann.

5. Glen, P. (2003). Leading geeks: How to manage and lead people who deliver technology. San Francisco: Jossey-Bass.

6. Xia, W., & Lee, G. (2004). Grasping the Complexity of IS Development Projects. Communications of the ACM, 47(5), 68–74.

7. Cooke-Davies, T., Cicmil, S., Crawford, L., & Richardson, K. (2008). We’re Not in Kansas Anymore, Toto: Mapping the Strange Landscape of Complexity Theory, and Its Relationship to Project Mangement. IEEE Engineering Management Review, 36(2), 5–21.

8. The No Asshole Rule, Robert I Sutton

9. The Nonverbal Advantage, Carol Kinsley Goman

10. Group Dynamics for Teams, Daniel J. Levi

11. How Google Tests Software, James A Whittaker

12. Agile Testing, Lisa Crispin and Janet Gregory

13. Release It!, Michael T. Nygard

14. Continuous Delivery, Jez Humble and David Farley

15. Clean Code, Robert C. Martin

16. The Productive Programmer, Neil Ford

17. The Pragmatic Programmer, Andrew Hunt and David Thomas

18. Brown, W. J., Malveau, R. C., McCormick III, H. W., & Mowbray, T. J. (1998). AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc. New York, NY, USA.

19. The Mythical Man Month

20. Babar, M. A., Dingsoyr, T., Lago, P., & Vliet, H. (2009). Knowledge Management in Software Architecture: Theory and Practice. Berlin, Germany: Springer Berlin Heidelberg.

21. Williams, B. J., & Carver, J. C. (2010). Characterizing software architecture changes: A systematic review. Information and Software Technology, 52(1), 31–51.

22. Kruchten, P., Capilla, R., & Duenas, J. (2009). The Decision View’s Role in Software Architecture Practice. IEEE Software, 26(2), 36.

23. Falessi, D., Babar, M. A., Cantone, G., & Kruchten, P. (2010). Applying empirical software engineering to software architecture: challenges and lessons learned. Empirical Software Engineering, 15(3), 250–276.

24. Jansen, A., Avgeriou, P., & van der Ven, J. S. (2009). Enriching software architecture documentation. Journal of Systems and Software, 82(8), 1232–1248.

25. Documenting software architectures: views and beyond. Boston, MA: Pearson Education.

26. Software Architecture in Practice

27. Evaluating Software Architectures, Methods and Case Studies

28. Documenting Software Architecture, Views and Beyond

29. Architecture-Centric Software Project Management: A Practical Guide


USB 3.0 disk xfer speed “VS” USB 2.0 disk xfer speed


I recently bought an iOmega 1TB eHDD that supports USB 3.0 interface. Before I bought it, I wanted to know the fundamental difference in the xfer speeds of USB 2.x and USB 3.x interfaces. I researched a lot but could find only "official" notes on the topic.

I finally got my USB 3.0 interface compatible m/c and did extensive xfer checks over the last few weeks.

USB 2.0 m/c – USB 3.0 disk : xfer speed is 2.2MB/s – 3.0MB/s
USB 3.0 m/c – USB 3.0 disk : xfer speed is 50MB/s – 75MB/s

So, one gets an jump up of 25 times by using a USB 3.0 disk with USB 3.0 m/c for most cases.

Come back to learn more about performance on specific file types (media/doc/bin)