Archis's Blog

July 31, 2007

Some important software architecture lessons

Filed under: Uncategorized — Tags: — archisgore @ 9:28 am

I speak out of a recent experience I had to go through – which cost me a week of sleepless nights and almost drove my team insane. We were on the verge of losing out on a major milestone, just because we didn’t have the right diagrams in hand.

1. Diagrams are critical. Contextual block diagrams which explain a certain project in the context of the guy developing it can be most helpful. Again, if too much stupid “formalities” are followed and complex unnecessary UML diagrams (thankfully something we don’t use) are provided they can be irritating and most troublesome. They may be great if you’re a services company and want to prove to a client how much work you did, but if you’re the ones who’re going to dogfood your own code, never do it!

2. The memory structure of your code is essential. I spent 4 nights in a row only figuring out the entry points to the code and it’s object graph. Once I had that, it was all a piece of cake. Most times, the code structure on disk is carefully done, but the code placement in memory is poorly documented. Its useful if you can just draw a diagram of objects and their references in an average instantiation of your code. This was the one breakthrough that propelled me through 2 months of work.

3. Always write a readme.txt explaining the entry points to your code. Generally any piece of non-trivial code has more than one entry point. The “int main()” triviality is insufficient. Your code will have IPC calls, multiple threads, etc. Make sure all these entry points are documented.

4. Finally, for someone else who wants to reuse only part of your code, ALWAYS document at the top of each object exactly what needs to happen before it can instantiate. Generally someone only needs that one object and shouldn’t have to instantiate your whole system to get it. I faced this problem on the fifth day. Found the entry point, but their code needed to run a background service and I had to load a DLL and and use IPC before I could access a very small object I needed. This is a big sign of bad design.

July 25, 2007

R.A.B is in fact Regulus Black

Filed under: Uncategorized — Tags: — archisgore @ 2:09 am

Sorry about that previous analysis. After a lot of interruptions, tons of code-checkins and lots of travelling, I finally finished the final Harry Potter book a couple of hours ago.

It turns out that R.A.B. is in fact Regulus Black. It really was obvious, but I guess that there was still a lingering doubt due to J.K.R.’s previous history of having totally different outcomes than expected.

That said, HP&DH was a very predictable book. Most of the theories discussed on the web were practically true word for word.

1. Harry is a Horcrux and is killed by Voldy.

2. Ron + Hermione (there was no doubt about this now, but even in the book took a loong while for them to openly admit this).

3. Lots of people die (and some that I wish really shouldn’t have!)

4. Dumbledore is dead, and has his vices too. He does have a dark history. But just as Snape, he changed, and now we know why Dumbledore was so keen to grant second-chances to everyone.

5. Snape loves Lily Potter, and does so from childhood, before she even knew she went to hogwarts. This is what makes Dumbledore trust snape. (In the end, Harry really understands! Not theoretically or emotionally, but philosophically.) He actually understands. He reminds Voldy, when they discuss snape, It was love! Nothing can create a more powerful and trustworthy allegience. Not fear, not magic.

6. The student who returns to teach is Neville Longbottom.

July 18, 2007

R.A.B is not Regulus Black

Filed under: Uncategorized — Tags: — archisgore @ 2:51 pm

With Harry Potter and the Order of the Phoenix released, we now have a BIG hint that R. A. B is not Regulus Black. And the locket of R. A. B. is definately not a horcrux (unless I wasn’t watching too carefully and missed a scene).

Here’s the problem. JKR is always careful to keep the movies consistent amongst themselves. They may not be consistent with the books, but they form a transitive closure within the movies, and the books for a transitive closure amongst themselves.

The clue is in two points and not one. First, when harry visits the room with the Black family tree, Sirius points out Belatrix Lestrange (which was necessary anyways to explain Neville’s parents), but does not mention his brother at all. This means his brother is unimportant. The second clue is the complete lack of mention of any locket that couldn’t be opened.

If tomorrow the issue of Horcruxes does come up, then OOTP would definately have shown the locket of R.A.B. They can’t just say, “Hey, forgot to tell ya all, but remember when Harry was at 12 Grimmauld Place? Well, when he was there, he saw this cool unopenable locket. And well, the R.A.B. mentioned on the note from the cave was actually this brother of Sirius’s called Regulus Black, and that locket was actually a horcrux. Now you know!”

July 9, 2007

Some more Univ-improving academic activism

Filed under: Uncategorized — Tags: — archisgore @ 2:37 am

I am going to try a new approach to promote my activism. I’m trying a non-violent Gandhian method to help change the BCS syllabus. Let’s see if this idea works out. :-)

Purpose: The BCS/MCS syllabus is undergoing revision this year. All those who love to call it crap, and go around boasting how they would change it if they got the opportunity, etc.; this is your opporutunity. This mail will show you how, where, when, and to whom to approach to get it changed the way you want – but there’s a catch – you must be accountable for it, and so will I.

Need:
Let’s first establish whether there really is a need to change the syllabus or not. I’m not beginning with the presumption that there _is_ a need today. Since so many of you contact me on messenger claiming that you feel the need, this mail is going to show you how to react to your urge.

1. Is the syllabus crap?
If you said, no, then the problem ends. No turning back. No criticising the syllabus, etc. for your lack of placements. You must stand up to those “industry experts” who claim it’s bad. Basically, either it’s good, or it’s bad.

If you said yes, then we proceed.

2. Will you be accountable for it?
Many go around saying “This should be needed” and “that should be needed”. Either you must be accountable and responsible for it, or you keep your mouth shut. Write a duly signed and authenticated letter to the BoS. Right now is the time. Take liability for it. If you suggest something, and people don’t get placed, or a company later says this shouldn’t have been there, you must stand up and face the music. The faculty do this daily in colleges. Now you know why they get to decide the syllabus. We as “industry experts” love to boast we know everything. Time to put our reputation where our mouth is.

3. Let’s bring in some objectivity. Too many alumni. Too many parties who have their personal interests at stake. Let’s bring in “experts” who never studied at Pune Univ. Not saying all of them. But some of them. Bring in people who don’t care. People who’re well-off and don’t need certification by the Univ (and hence are not under control). I volunteer to bring in such people. I’m sure you all will too. Let’s keep ourselves out of the picture. I would necessarily not want my juniors to do better than me, since I won’t be able to boast about my pay package. Hence, let’s keep “me” out of this. Let’s pull in people who’re making tons of money and are in positions where juniors can’t hurt them ever.

4. Let’s bring in some “real” industry experts. People who’ll come officially. Today, if a person from company “X” goes to the BoS, does he go officially as a representative of the company? What if the syllabus turns out to be crap? Can you say that “representatives of company “X” gave the syllabus?” Again, I volunteer on my side to do that. I can arrange representatives from my company to do it, and so can all of you. They’ll come on business hours on duty. Not in the evening or on weekends. The company will take liability for their behaviour, comments and actions.

The reason I’m mailing you now, is because over the last few years, I’ve talked with people from many companies. They’re both willing and eager to participate in changing and contributing to the syllabus – “officially” (that’s the key). Meaning, if it sucks in the end, we can say, “Hey, they suggessted it!”

The Univ always claims that they don’t get enough “industry experts” to help them. I am ready to commit to that (at least from Microsoft for now). I’m ready to get the experts. Now what we need is peer pressure. Which you can provide. There’s a reason I kept using the word “accountable”. We shall be accountable from our side.

Let’s provide them with experts. Let’s provide them with resources. Let’s remove their argument that “nobody helps us”. Let’s be accountable from our side to begin with, instead of egoistically waiting for “them to approach us”.

Why now? Because I don’t want to be in a position, where someone says, “You should have suggessted this in time.”. Now is that time. If you want to be part of a group that wants to say, “Told you so.”, two years from now, join in. Start acting. Gather evidence that we tried to help all we can from our side, instead of just talking.

What next? So far I know of no e-mail address for the “BoS’ yet. The best option is for you to write a physical snail-mail letter addressed to “The Chairman, BoS, Computer Science”, volunteering your support in the syllabus revision. Let’s try a Gandhian approach. It will also be a validation for ourselves to see how many of us talkers are really interested in the changes that we talk about so much. Please be cordial. Please be polite. We’re all on the same team here. If you can find an e-mail address, then send out a mail.

If you feel you agree with my approach, feel free to spread the mail. If you feel it’s still a bit on the aggressive side, help me tone it down (I know I can get too aggressive at times, and apologise for that). Whatever the case, this is our opportunity and we shall all be guilty if we do nothing now, and again next year go around claiming BCS syllabus is bad.

July 6, 2007

My first visiting cards

Filed under: Uncategorized — Tags: — @ 5:10 am
src=\”http://archisgore.files.wordpress.com/2009/06/1183723853-hr-1381.jpg\”

Microsoft seems to be really fast when it comes to such things. I had ordered my visiting cards on wednesday evening with a \”Low Priority\”, and today afternoon, I received them at my desk. Awesome service. Attached above is a picture for your reference. I don\’t know where they got most of the phone numbers out there, but hey, it\’s Microsoft – Automation is the name of the game!

They look cool. There was intense confusion whether I\’m a \”Software Design Engineer\” or a \”Software Development Engineer\”, or a \”Software Development Engineer in Test\”. So I took a random shot and went with \”Software Development Engineer\”. The number of internal designations is confusing.

Another issue was deciding between \”Archis Gore\”, and \”Archishmat Gore\”. Half the people who know me as \”Archis\” wouldn\’t have a clue who \”Archishmat\” is, and saying \”Archishmat\” too many times can lead to shortness of breath. It\’s quite a problem at the passport office or wherever I am required to use my legal name. It\’s irritating and confusing for everyone. My spelling gets screwed up a few times before they get it right. So I decided to add \”Archishmat Gore\” in braces to emphasise what \”Archis\” really stands for. However, my mail aliases and SMTP addresses will keep using \”Archis\” as far as possible.

My first visiting cards

Filed under: Uncategorized — Tags: — archisgore @ 5:10 am
src=\”http://archisgore.files.wordpress.com/2009/06/1183723853-hr-138.jpg\”

Microsoft seems to be really fast when it comes to such things. I had ordered my visiting cards on wednesday evening with a \”Low Priority\”, and today afternoon, I received them at my desk. Awesome service. Attached above is a picture for your reference. I don\’t know where they got most of the phone numbers out there, but hey, it\’s Microsoft – Automation is the name of the game!

They look cool. There was intense confusion whether I\’m a \”Software Design Engineer\” or a \”Software Development Engineer\”, or a \”Software Development Engineer in Test\”. So I took a random shot and went with \”Software Development Engineer\”. The number of internal designations is confusing.

Another issue was deciding between \”Archis Gore\”, and \”Archishmat Gore\”. Half the people who know me as \”Archis\” wouldn\’t have a clue who \”Archishmat\” is, and saying \”Archishmat\” too many times can lead to shortness of breath. It\’s quite a problem at the passport office or wherever I am required to use my legal name. It\’s irritating and confusing for everyone. My spelling gets screwed up a few times before they get it right. So I decided to add \”Archishmat Gore\” in braces to emphasise what \”Archis\” really stands for. However, my mail aliases and SMTP addresses will keep using \”Archis\” as far as possible.

Blog at WordPress.com.