On Reading for Programmers

The growing maturity of the software industry over 30 years has resulted in an increasing number of success stories. Technology and tools are maturing to a point where typical business software projects have fewer and fewer technical reasons to fail. Enterprise frameworks, databases, communication tool-kits, platform abstraction layers and drivers for commodity hardware are rock solid. And yet, software projects are often delayed, over-budget, poorly built or all of the above. In worst-case scenarios, projects turn into such massive train wrecks that they are cancelled entirely, canned and brushed under the carpet like they never happened.

In many instances, poor management practices can be squarely blamed on a failed project. Impossible schedules, inferior equipment, inadequate manpower, or half-baked requirements are all major factors affecting failed projects. But what is often overlooked is a more insidious problem – poorly trained and unmotivated developers. Hiring people who have minimal interest in the craft makes them liabilities to the rest of the team that is striving to achieve quality work and can seriously jeopardize chances of project success.

For hiring decision makers, if quality of candidates comes above quantity (as it should be, unless you are being pressured to fill up some massive, VC-backed head-count void) evaluating their technical prowess is a must-do activity during the interview. While practical tests definitely should be on the list, I find reading and side projects to be very important positive signs to look out for.

Passionate developers are often voracious readers, especially on the topics of software, programming techniques, languages and technology. We are living in a world where information is literally at our fingertips. More matter is written and published than ever before. Many writers give away their work for free online. Heck, there are lists of recommended books and essays for new programmers who don’t even know where to begin. There is no reason at all for a person to not be able to read at least one substantial book every few months other than the lack of motivation.

Quality of material is important too. A half-baked, ‘syllabus-oriented’ book, read two days before final examinations does not count for anything. Passing a platform-specific certification program might indicate a programmer’s skill on that particular platform. But since most of them are promoted by vendors with a self-serving interest in increasing the popularity of their platform, it does not speak much about their ability to adapt to new technologies.

Personally, the structure of a published book sounds much more conducive for learning something new, especially since it has been evaluated and revised for structure and content by a bunch of editors. This is usually applicable only for in-depth understanding of large frameworks, however. I don’t think I could be bothered to read much more than a few paragraphs occasionally on novelty topics that don’t relate to my daily work, such as Arduino or low-level system programming. But everyone obviously has their own preferences and styles of learning.

Unfortunately, there are too many developers who simply seek to be part of the software industry for its perceived low barrier to entry and ease of massive success. For these kinds, no amount of coercion can cause them to pick up a book and plow through it unless its contents carry a critical mark on their annual appraisal. Tom Demarco’s statement from so many years ago still rings true –

“The average software developer, for example, doesn’t own a single book on the subject of his or her work, and hasn’t ever read one. That fact is horrifying for anyone concerned about the quality of work in the field,  folks like us who write books, it is positively tragic.”

Tour of Hampi – Homeward Bound

The week had passed by surprisingly fast. We were on the last (or second-last) day of our trip. There was still uncertainty around whether we wanted or would be able to ride the 500 kilometres to Pune in a single day. All rides so far had been in the range of 200-300 kilometres, although road quality had played a big factor in those decisions. Other than the 150 odd kilometres of state highways between Badami and Belgaum, we were looking at excellent surface quality on NH4.

We left at 6:30 am, as soon as daylight was firmly established. Most of the delay was caused due to waiting for the petrol bunk outside Badami to start operations for the day. It probably would have taken longer, given that most of the employees were still dozing. But some persistent honking by a truck and a tempo roused these guys much sooner.

Bike fueled up, we set off. Part of both of us wished to find a restaurant or even a roadside shack to grab a bite at. But the roads were featureless, and pretty empty too at that hour. The only respite were the infrequent hamlets that we periodically encountered. However, the early hour and mild climate helped ease any discomfort. The countryside was beautiful, and though we did not stop frequently, the sights were soothing nevertheless.

The first major halt we made was at Ramdurg, 50 kilometres out of Badami. Poor road surfaces for half the way accounted for most of the hour and a half taken to arrive here. But all was forgotten as we tucked into warm idlis and coffee at an Udipi restaurant.

After breakfast, we headed off again to pass by Torgal a few kilometres away. While historical significance of the fort at Torgal evades me today, some pre-tour research had indicated that it was a relatively well-preserved stone-built fort. Protected with two layers of walled bastions, it would have made a daunting fortification in its time. Within the bastions lie several buildings and Torgal village itself. Among the buildings of note are the Bhoothnath Temple and a mosque. The ASI is actively working on restoration and maintenance of this structure.

On any other day, we would have had time to stop and admire this structure. But being pressed for time, and my strong desire to return to Pune by day end meant we had to give it a pass.

The Belgaum-Bagalkot road after Yaragatti again was an excellent surface to ride upon, although scattered patches of heavy vehicles and a ghat in between still ate into a significant amount of time. All said and done, we were in Belgaum only at around 12:00 noon. Meeting Anvith again made taking the longer route completely worthwhile. We chatted over lunch and more ice creams before finally bidding goodbye to him and Belgaum on this trip.

NH4 was a welcome sight after the morning session on narrow state highways. A bunch of other motorcyclists passing in the opposite direction were the only eventful incident that occurred until Nippani, where we stopped for our first breather. Our seats were getting uncomfortable now and the sun was stinging. We soldiered on after a bit of stretching, and managed to get up to Kolhapur without any pauses.

The short shadows from the time of leaving Belgaum had elongated a bit by now. Hunger and thirst forced us to stop here, and the cool environs of a local cafe kept us comfortable for an hour or so. Their soft sofa cushions were a welcome relief from an entire day astride the motorcycle saddle. At 4 pm, we reluctantly left the cafe and began the rest of the ride.

Beleaguered by the relatively bad road quality in Maharashtra and fatigue from riding all day, progress was very slow, although our averages were still quite great due to excellent riding in the morning and afternoon sessions. We reached Surur at 5:00 pm and stopped for food and water. Ami was close to passing out from the sun by now. Rest and food helped restore some sanity, but she remained quiet for the time that we were stopped.

We left from Surur at 5:40 pm, with about 45 minutes of daylight left. I intended to make the most of this time by covering the distance up to Shirwal at the least. We were a little ahead at Kapurhol when the sun finally sank behind the hills over the horizon. We continued to make good time for the remaining half an hour of natural light, managing to cross the toll booth near Khed-Shivapur.

From here onward we took it easy as darkness had set. It was 7:30 pm when we finally got off the highway at Sinhagadh Road. We stopped for dinner along the way within the city, before reaching home exhausted but happy at well past 10 in the night.

It had been a long day.

Tour of Hampi – The Badami Chronicles

We left at 7:00 am from the hotel after a disappointing breakfast of upma and sheera. The bright light and clear air lifted our spirits along the way. A particularly beautiful stretch of shady gulmohars caught our attention and begged for a photo session. After idling away for twenty minutes or so under the trees, we moved on further to Pattadakal.

Pattadakal is a tiny village, about 20 kilometres from Badami, situated on the banks of the Malaprabha river. Its primary attraction are its historic temples from approximately the 7th and 8th centuries, most of which are located inside a UNESCO World Heritage site complex. A solitary Jain temple is located some kilometres away, but built in what looked like similar style. Pattadakal has the unique distinction of being the only spot where temples were built in both, Dravidian and Nagara styles of architecture. After the Chalukya capital was moved here from Badami, royal coronations of the kings were held at the Virupaksha Temple at this site. The road from Badami to Pattadakal is prime back-country. You’ll probably see more goats than humans en route.

By the time we reached here, tt was later in the day than I might have liked. But irrespective of that, the light was still tender and the place not crowded. We took our time to idly browse through the exquisitely carved monuments.

Close to three hours later, when we were finally packing up, the crowds began to flow in. Being holiday season in India, most visitors were families, although we did see some of what looked like college or senior school class groups. The heat had begun to sting by then. We were both unwilling to suffer our way to Aihole in this weather. And by now, I was pretty sick of seeing stone temples. Concrete is where it is.

We turned back towards Badami, calling an end to our sightseeing activities on this trip.

The evening was spent with a leisurely walk through the Badami bazar, ending with idlis and dosas at Geeta Darshini restaurant. This place is not exactly the epitome of hygeine and quality, but the food was surprisingly much better than what we had at any of the star-rated resorts at Badami. Travel continues to surprise me. An early lights out ended the day by 8:00 pm.

Tour of Hampi – Hospet to Badami

The KSTDC website mentioned Badami as the capital in the early days of the Chalukya dynasty. It was founded in the 6th century and remained as the seat of power up to the 8th. Its primary attractions are the cave temples, which are excavated out of solid rock. But the nearby sites of Pattadakal and Aihole are also popular tourist spots.

We left the hotel room at Hospet at 7:00 am and stopped at a darshini along the way for breakfast. Hot idlis, washed down with excellent filter coffee primed the mood for the day’s riding. At 150 kilometres away, we were confident of reaching Badami by lunchtime. But first we would have to tackle 20 kilometres of bad roads through Hospet town itself and the rest through the highways outside municipality limits. We managed to tackle this in good time due to the early hour and light traffic, and were soon staring at a signboard pointing towards NH 13 and Kushtagi.

Repair work on NH 13 is nearing completion, but it has its share of detours and rough patches yet. Road work ends at around Budugumpa, where we had to take the bike from below the support scaffolding of an under-construction flyover. It’s all smooth sailing afterwards. However, the bare, featureless landscape made for some really boring riding. We had to fall back upon the all time favourite – antakshari – to keep ourselves awake and interested. Singing on a motorcycle is a surefire way to run your voice hoarse. Sudden gusts on strong westerly crosswinds helped break the boredom once in a while. In all, while my original estimate to reach Kushtagi from Hospet had been one hour, it was closer to two hours later that we finally reached the town.

After Kushtagi, the going became much simpler. The state highway was narrower, but had thick tree cover or other wind-breakers. Whatever was left of the wind would come as headwinds, which did not affect handling much. Clear weather and decent road quality helped make good time all the way to Badami.

At Badami, the hotel was a non-descript guesthouse converted out of an old stone bungalow. Being run by the state tourism department, the facilities were predictably average. The air-conditioner worked, but gaps in the vintage door and window frames ensured the room did not turn too cold. The television worked, serving up every possible Kannada language channel being broadcast, with a smattering of Hindi and English thrown in between. Tossing out a couple of lizards added some excitement to an otherwise boring afternoon. The dal fry and rice we had for lunch at the hotel restaurant was palatable.

We rode out to the Badami Caves late in the afternoon. As far as distances go, Badami isn’t much. And well positioned signs guide the tourist to all places of interest without trouble. Side roads are rubble, littered with flowing garbage, and infested with pigs who dart across with surprising agility. Be careful around them. The caves were nice as far as monuments went, but were completely littered with all varieties of smart alecs out to fleece visitors. One group of stags, obviously smelling of alcohol, tried to make a strong bid at ‘fraanship’ with us. They would continue to follow us out of the caves complex and cause a slight change in plans later in the evening.

The caves themselves obviously impressive, but it is obvious that artistic skill and architectural technology had increased substantially in later years, as is evident at Lakkundi and Hampi. The carvings are not quite as finely made or interestingly laid out. Nevertheless, the breathtaking views of Badami, Bhoothnath Temple and Agastya Lake from that altitude made the trip worthwhile.

As we left the parking lot, I noticed a white car following us in undue hurry. I slowed down under the pretext of navigating around a pig and saw that it was the same guys that were trying to get friendly at the caves. We were now on the road towards Banashankari Temples over SH 57, backtracing the same road we had followed yesterday. Not wanting to be harassed by these guys any more, I let them pass ahead once we reached the parking lot, then continued ahead instead of stopping. It would have been nice to sit at the banks of the tank, but that was not to be.

We turned left at the next junction on the road to the back country roads nearby. It was 6:00 in the evening and the weather was pleasant. The landscape was very rustic, with mud-built houses along the way, shepherds taking their flocks home and the evening calls of birds rending in the air. We stopped for a bit at a bridge to take in the sights of flowing waters before heading back to Badami. Unknown to us, the route we took rounded off back to the Banashankari Temple parking lot. But by the time we reached there, the car following us was nowhere to be seen.

Dinner at the Heritage Resort had a wider range of options than the lunch at Mayura Chalukya. We made short work of it before heading back to the hotel. There’s little to do in Badami in the evenings. If you’re planning to visit, either get a large group together or carry plenty of board games with you.

Tour of Hampi – Second Day at Hampi

Kalyana Mantapa, or the wedding hall, at the Vittala Temple complex

Having spent the first day getting familiar with the site, I was a lot more confident now of being able to do some justice to the royal enclosure without the aid of a guide. We had to spend time waiting for Mango Tree, the restaurant from the evening before, to open up for breakfast before we could go ahead. The food there was so nice that we were now unwilling to take risks elsewhere. After pancakes and grilled sandwiches, all washed down with hot chocolate, we were ready for the day’s adventures.

At the Krishna Temple
Stucco sculptures on the temple gate depict the victory of Krishnadevaraya in his campaign against the kingdom of Utkala.

Unlike at the religious centre, vehicles can be driven into the royal enclosure. In fact, this is the recommended way of exploring here, simply because of the distances between different sites. They usually lie at least 2-3 kilometres away from each other. Add up the walking required within their premises and possibly going back and forth for meals, and you’re looking at an ungodly figure which causes a lot of wasted time by the end of the day. Even a bicycle is better than walking.

This circuit covers the Krishna Temple, Ugra Narsimha idol, underground Shiva Temple, Hazara Rama Temple, the zenana complex, elephant stables and several other sites. The ASI museum also falls on this same route, although we did not have time to visit.

The Morning Session

We started off with the Krishna Temple, which takes at least an hour for a casual look around. While the complex is not all that large as such, it has several structures and some well-preserved relief sculptures which immediately catch the eye. For those with an eye for detail and the time to spare, this site itself can consume several hours.

Dasha Avatar reliefs at the temple gates

Krishnadevaraya commissioned construction in the 16th century to celebrate his victory over the kingdom of Utkala in present-day Orissa. The original idol of Balakrishna has been relocated to the state museum in Chennai. The main structure as well as accompanying shrines and pillared halls are all beautifully carved, partly due to the temples relatively recent vintage. Some things to note are the figures of Yalis on the pillars of the main structure, and the reliefs of the 10 avatars of Vishnu at the main gate.

The underground Shiva Temple, up next in the route map, was a bit of a downer due to lack of maintenance and the resultant flooding of the interiors. Architecturally too, this place is nothing particularly substantial to speak of. It is a convenient location to waste away hot afternoons due to its cooler temperatures and surrounding gardens. Bring a food basket and a mat to make a picnic out of it.

Tourists strike a pose inside the mukhmantapa at the Hazara Rama Temple


Another location great for hiding out from the sun and heat is the mosque, just a short distance away from the underground Shiva Temple. This is actually a large complex with several structures including a watch tower, a band tower and a mosque. We sat under the shade in the mosque for a while to catch some relief from the heat before moving on to the Hazara Rama Temple.

This is easily one of the nicest and best-preserved sites here, on par with the Krishna Temple. This temple is popular for the carved reliefs of the Ramayana on its walls. While this site is not as large as any of the other temple complexes in Hampi, its importance is greatly elevated due to its central location in the royal enclosure. Historians believe that this temple was used as a private shrine for the king and the royal family.

At the Hazara Rama Temple

A small open-air museum and merchandise store lies at the ASI office nearby. The artifacts and idols here are worth looking at, in spite of the apparent lack of visitors. Also of note is the photo museum where you can see prints of original works by Alexandar Greenlaw and John Gollings. Greenlaw was a member of the British army with an interest in surveying and documenting the regions of the empire. He was part of the earliest efforts of the British to establish an archeological survey department in India. His photographs, lost for many years, were discovered in 1980 in a private collection. His waxed paper negatives provide an insight into the earliest records of discovery and excavation at Hampi. Replicating his photographs with modern technology is a popular activity for many visitors today.

The main hall of the Vittala Temple, reknowned for its musical pillars

We covered them up to the elephant stables before returning back to Mango Tree for lunch (yes, it was that good). After whiling away the worst of the afternoon under its shady interiors, we rode back to the Vittala Temple to do better justice to it in the soft evening light.

Vittala Temple is a lot more easily accessible from the royal enclosure side. You can park your vehicle at the parking lot and either walk the 2 kilometres to the temple, or take an electric car which charges Rs. 20 for a to-and-fro ticket. Walking gives you the option of stopping at Pushkarni, a stepped tank which lies close to the Vittala Temple. We chose to take the car because of the crazy heat. The weather only began to get more tolerable after 5:30 pm while we were in the temple premises.

The day ended with an early ride back to the hotel, mediocre but convenient hotel room service dinner and an early lights-out in preparation for the ride to Badami the next day.

Riding through the dusty roads between sites

Final Impressions

While we did visit Hampi in this trip, I cannot rightly say that we have done it justice. Two days is barely enough to get familiar with the layout. I could spend a week here before beginning to get bored. If you are a history buff, you could probably spend even more time. Adventure seekers too come here frequently to climb the unending expanses of rocky boulders and hills. And there’s something for all levels of difficulty – from straight out steps cut into the rock, to flat-faced ledges that require strength and skill to scale. The third interesting activity is to ride out into the countryside and just soak in the sights. Natural surroundings and a variety of avian population can guarantee a fun ride. The nearby bear sanctuary also sounds promising, although we didn’t have the time to visit.

The stone chariot, a shrine to Garuda, at the Vittala Temple

Either my expectations were set to high for the food and accommodation arrangements, or the place really does suck. While Hotel Karthik, where we were put up, had decent reviews online, the actual experience was not quite up to the mark. Especially on the food front, I found the hotel restaurant, Nalpak (promptly rechristened Nalayak by me), to be lacking in quality and variety. Their North Indian fare was boring. And who the hell wants to eat North Indian food while in Southern India? Mango Tree and its cuisine of rich, spicy and aromatic curries and South Indian thalis was evidence that there is more to this cuisine than just idlis and dosas. But most service outlets are unwilling to experiment. There’s a reason that Mango Tree gets great reviews and frequently returning visitors.