10 things you need to do as a programmer

Computer Engineer? Software Developer? Programmer? I have been in those shoes for quite some time, and I thought that I might share these tips with you folks. The article was originally published on Crazyengineers, but I have added to those and edited the article a bit.

  1. Read: Not only technical textbooks, but also other material. It gives you a good break from the programming, and it also builds your capacity to read and interpret long business requirement sheets.
  2. Cogitate: Before jumping into any program, think it through. Do you know the exact logic to be written? Do write down on a piece of paper what you intend to do. It may sound trivial but writing down helps clarify the problem.
  3. Communicate: Talk with your team mates, friends, colleagues, seniors, clients (if you get the chance) … talk about the project, talk about the technology involved … it helps solve problems that you could be stuck, it also helps you in understanding the subject matter better.
  4. Collaborate: Offer to help your team mates, understand what they are working on. There is a deep satisfaction in helping your friends and colleagues. Not only do you learn new things, but also you earn the respect of those colleagues.
  5. Why?: Do not be afraid to ask this question. Sacred cows can be slaughtered when you ask questions. One who asks a question may seem a fool, one who does not remains so forever.
  6. Revisiting: Do not cringe from revisiting your own code. It gives you an opportunity to improve your work.
  7. Change: It is constant. Businesses change, systems change, people change, requirements change, and scopes as well change! Do not for once think that a static view of applications is acceptable. So when you work on something do ensure that it is flexible and open to change.
  8. Documentation: This is the key to your freedom. If you do not do enough of this, you will never be able to make your work independent of you. In this case, you will never be relieved of that task. Point number 5 becomes all the more important!
  9. Humility: Do not be ashamed for asking help. Help within the team, to seniors … even asking for help on public forums and IRC networks. Most people are more than happy to help someone who asks nicely.
  10. Disconnect: Sometimes you need to stop the fast pace of work, and take breaks. Go on outings on the weekends, go out with your friends, your family. Connect offline and disconnect from work. It helps.

Bored in WoW: Things to do

Have you ever waiting for minutes on end in the dungeon queue? Reached Level 85 and not known what else to do? Gotten bored by playing mind-numbing quests one after the other?

If you have been playing World of Warcraft for as long as I have been playing, then I am sure that you would have gotten jaded a bit with the continuous onslaught of Dungeons, Raids, PVP and Quests.

I have seen perfectly fine guilds as well as guild leaders throw their arms in despair and just stop playing WoW after getting too bored to play the game. Well, if you can identify with what I am talking about, then read on further … if you are wondering what the hell I am talking about, there’s this super awesome game that you have to check-out. It’s called World of Warcraft!!

  1. Level up your professions – It might seem mundane at first, but the awesome kind of items you get at the higher levels is definitely worth it. Not only are you adding a few Achievements to your belt, but helping out your guild as well. Not to mention the kind of trade surplus you get at the Auction House (AH).
  2. Auctioneering – Speaking of the auctions, the AH is a good place to hunt good items and good trade deals. If you see a poorly priced item, buy it and promptly put it on the AH again. Pure profit!! In fact this point deserves a post or two!
  3. Miss Goody-two-shoes – Become a good-two-shoes in your guild and offer help to anyone who is stuck or lost at any level. There is joy in contribution :-). Keep a limit to offering a helping hand thought. Like help a n00b a day types :-)
  4. Achievements – Do your research, and go after weird Achievements. Or Achievements which talk of sheer determination like The Explorer, or Loremaster, etc.
  5. Guild Achievements – Try getting towards the Guild Achievements. Your Guild officers will herald you and everyone will be the happier.

I will add to this list, but putting together this list has given me an urge to play WoW!

Indian Services: A bleak future

With the Indian economy shifting from an agrarian focus to a service-based industry, a lot of foreign investors are attracted to the nation. However, the sustainability of this is under question. As service experiences from bad to worse and consumers are crying bloody murder in the courts, how will the Great Indian Dream be achieved?

The word service comes from the term – to serve, i.e. to work for another.

I am sure you will agree with me that this is hardly the case these days. To measure the quality of service, all service providers have come up with an excuse called as SLAs (Service Level Agreements). What it means is that the service provider is giving certain time limits for each of his failures, and he won’t recognize the failure until and unless that SLA has been crossed.

Ironically, its very logical and you can’t argue against this. But zoom out a bit and think seriously, if you are providing SLAs for life and death services, what would happen? I won’t call you sick, until you have been sick for three days. Dead until, you have been dead for a day.

I won’t spring into action until and unless the given time goes by.

I will ignore your pleas, until you start shouting murder at me. Then I will create tickets, and play the game of the escalation matrix. Then I will care, and once the issue is resolved, I will stop caring.

As consumers, what can we do?

Well for starters –

  1. Read the SLA’s before taking on the service. Do they seem reasonable? Try negotiating on the SLAs and make them sharp.
  2. Clearly define the Plan ‘B’ – What happens if the impossible does happen? What happens if a service promising 99.95% uptime goes down? Who takes the risk and who takes the hit?
  3. Danda works top-down. Sad, but true. Remember that. If you want the cronies to spring into action, knock at the top.
  4. Get a back-up. It’s expensive, it’s redundant, but it’s a safety net ready to catch you when Plan ‘A’ fails.
  5. There’s an interesting start-up Akosha, consider contacting them
  6. Lastly, switch providers and rinse repeat!

Rise of Nations: Roman Castle in Age I

Sounded innocuous and impossible to me too. But get this, it CAN be done, and it works well in border push strategy.

If you are Romans in Rise of Nations, then do give this tip a try to put your opponent on the backfoot. No one wants to attack a well defended outpost, even if the outpost is right next to your borders especially because its being guarded by a castle, and god knows how many units are garrisoned in there! Add to the additional territory push that Roman castles have, and you are literally taking away the opponents lands!

The key to this tactic is getting early ruins.

Remember, that Romans have Mil 1 researched at the start. A castle costs 281 wood.

Here’s what you do –

  1. Go Sci 1
  2. Do NOT build farms, they consume wood.
  3. Instead fill up on lumber by all the villagers you create
  4. Use the additional villies and scout to capture ruins
  5. Start building 4 outposts (do not complete the building, just start the building so you consume the wood that you are getting via ruins, so now you keep getting wood via ruins). The key is to keep your wood lower than the rest of the resources without really using up wood.
  6. Once you have 4 outposts queued. Now start building the farms, and booming. Target Civ 1
  7. Once you have Civ 1, go near your opponents border and plonk your second city there.
  8. Cancel the outpost building (all 4 of them). This should give your wood back to you!
  9. Now start building the castle!

Now you have a well defended outpost as your opponents next door neighbor. Start booming, build a barracks, and garrison some units in there.

And remember to PUSH!

Rise of Nations: Raiding

So I was talking to King Ameya (who often comments on my Rise of Nations posts). He was mentioning that the previous post on Heavy Cavalry was actually a lesson on raiding.

For those who are new to the game, raiding is a concept where you use a small armed force to take down the economy of the opposing nation by attacking commercial resources (merchants, caravans, timber mill, mines, etc). That way, you generate resources whereas your opponent is struggling to get off a good start.

At the advanced levels, rushing is considered to be an amateur tactic and a pro can easily fend off a rush. What works instead is constant raiding and an expert can actually bring down opponents by doing this the entire game.

The best way to showcase this is by giving you a recording of a game that I played with King Ameya. He was Iroquois and I was Bantu. It was pre-decided that he is going to raid and I thought that let’s boom for a change and see how much could a raid impact my economy.

See for yourself!

At the end of the game, I had four cities, but virtually zero resources and no barracks to fend myself. Two of those cities fell at the same time and I had to give in. Raiding can be lethal if carried out properly.

Some points to note –

  1. Scout early and scout often; by the 3rd minute Ameya had the entire map scoured and almost all the ruins were consumed for resources
  2. Small attacks, first aimed at merchants and caravans, then at villagers and resources
  3. Raiding gives you resources, having a Despot increases your gains
  4. You do not need a massive force to deal the final blow

Rise of Nations: Use of Heavy Cavalry

Heavy Cavalry

image A major part of all Alexander the Great’s battle strategy included cavalry. The light cavalry for quick raids (which I shall cover in a separate post) and the heavy cavalry (or his Companions as the vanguard unit).

In fact the fall of Alexander was largely attributed due to a mutiny amongst his vanguard troops.

Learn from history

A liberal use of heavy cavalry units right from the start of the game can really make a difference between a well fought battle and a whooping victory. Here’s how –

When I was playing a random map, I was given Mongols (but I mistook them for Lakota!! mea culpa!!). Fortunately, my strategy was unaffected by misinterpretation, I still was going to make Stables, and raid early with cavalry, and then focus on an army of heavy cavalry. The map style was Himalayas, so that helped!

  1. Start booming and race to Age II. Have a barracks ready and some defense troops.
  2. After Age II, go Mil2 and Sci2
  3. Build a Stable, and get a Despot
  4. Have 2 Heavy Cavs, and 2 Horse archers ready. This alongwith the Despot is your flash army.
  5. The flash army can move fast (doubly so if used forced march), ambush and patrol the enemy territory for taking out merchants, caravans and resource buildings
  6. It can also hold a sizeable army until you build defenses and/or send reinforcements
  7. Start building your main army slowly and steadily using the resources from raiding while your flash army keeps the enemy engaged. I prefer to build a separate artillery force (3 trebuchets and a supply wagon) and make an attack on one of the outposts
  8. A small bit of micro-management and you should get one of the computer’s cities
  9. The cool part about focusing on Heavy cavalry on a map like Himalayas is that wood and iron is abundant, so siege weapons come easily.
  10. Even if you fail at doing well early on the game, keep your heavy cavs alive and they turn into formidable tanks!

I myself am not that big into cavalry, but today while mistakenly taking the Mongols for Lakota, I realized just about how awesome they can be. I had roughly 4-5 HI, 2 bowmen, 6-7 Heavy cavs, a despot, 4 cannons and a supply wagon with some heavy archers to spare (Mongols, get them free for each stable, so did not keep a count, although I had 3 stables). Almost all of my food came from raiding and sacks.

Rise of Nations: Japan infantry

Note: The post was ill-timed, when I wrote it I was completely unaware of the Japan crisis. I realized my folly when a friend informed me of the same. My apologies, this was not meant to be a stunt to get more attention. The post was neither tweeted nor posted on Facebook.

 

I love the Japanese civilization in Rise of Nations. It is by far one of the strongest infantry civilizations in the game. There are of course the Mayans and the Aztecs who can give the Japanese a run for their money, but with Japanese barracks churning out units faster than any other barracks and with each unity being stronger than the normal unit, you can’t go wrong.

The civilization benefits are also geared in such a manner that it ensures that as ages advances, the Japanese will keep on becoming a stronger force to reckon with. The civilization benefits are as follows –

  • Farms 50% cheaper, Farms and Fishermen produce +25% resources
  • Build aircraft carriers 33% faster and ships are 10% cheaper
  • Barrack Units do 5% extra damage vs buildings for each Age plus Military research
  • Barrack Units built 10% faster, 7% cheaper,for each Age plus Military research

What this means is that the Japanese player can kick off a good boom at the start itself. Cheaper farms and +25% more food means more villagers to collect wood with. More resources at the start translates into ideal boom conditions.

Typically what I do is –

  • Start with 5 farms at the start of the game (you have enough wood to do this)
  • Then science 1 and civ 1
  • Then a town to expand your territory
  • Then commerce 1 and build an additional farm
  • Then a woodmill and more farms
  • Then a trade center and a temple
  • Then science 2 and mil 1
  • Tower for your frontier town and a barracks between your towns
  • Complete the farms and get the rare resources
  • Age. As you are aging start building heavy infantry
  • Get the senate built and a despot (cheaper infantry and war resources)
  • Get 5 HI, 1 archer, patriot and go mil 2
  • Start towards your enemy town and start raiding (rare resources, merchants) but avoid frontal assault (you benefit later in the game)
  • Get a siege workshop and have some siege engines built (2-3)
  • Now go for the first town

Its downhill from then on. The key is to know that you are going to be stronger and stronger with your infantry (atleast till age VII, then you have stronger units). Take towns, and hold your lines. During those times build more units (infantry, light cavalry to take down archers and siege + supply wagons if needed). Use villagers to repair towns and build your barracks closer to the front lines.

Rare Resources:

Rare resources that you need to go after – Cotton and Whales

The Cotton will reduce unit production times by 25%, and Whales will give you the resources required to generate more Heavy Infantry.