Beam of Light

Thought Registry - Harish Vajha

[Self-Realization/Software/Personal Finance ]

 

Home

Why be a Veggie?

Archive

Books

whoami?

writings

staytuned

subscribe  

unsubscribe

Email me

 


Web Geocities

 

 

Tuesday, March 04, 2003

C#-FIRST EXPERIENCES

In my quest to gain insights into the  world of .NET, I am trying out my hand at C#. Here are some of the interesting observations during my initial stint with "Thinking in C#". This book is by Bruce Eckel and Larry O' Brien. My primary considerations in picking up this book: (i) Easily available (Thanks to the initial free download) (ii) I liked Thinking in Java and C++. 

1. Missing Blank Line interpreter in csc /doc??

When I attempted generating XML documentation (That definitely sounds ultra cool. Generating XML instead of HTML.), I came across something funny. I tried running:

 csc /doc:HelloDate.xml HelloDate2.cs

and the output said: 

HelloDate2.cs(27,11): warning CS1570: XML comment on 'ThinkingIn.CSharp.Chap03.HelloDate2.Main(string[])' has badly formed
XML -- 'End tag 'param' does not match the start tag 'member'.
HelloDate2.cs(19,5): warning CS1587: XML comment is not placed on a valid language element.

Then I tried running the same code with the "blank line" in between the comments removed (on the top of Main())  and It went through clean. :)

2. GOTO: Some of the serious looking OO programmers seem to hate goto. On the other hand, I always had a soft corner to goto, thanks to my love for 8085 programming during college days. I was one of those guys who knew the instruction set, including the SIXTEEN BIT INSTRUCTIONS!! I found some interesting links which I came across: 

goto fell into true disfavor with the publication of the famous 1968 paper “Go To Statement Considered Harmful” by Edsger Dijkstra. Dijkstra argued that when you have a jump, the context that created the program state becomes difficult to visualize. Since then, goto-bashing has been a popular sport, with advocates of the cast-out keyword scurrying for cover.

As is typical in situations like this, the middle ground is the most fruitful. The problem is not the use of goto, but the overuse of goto or, indeed, any statement that makes it difficult to say “When this line is reached, the state of the system is necessarily such-and-such.” The best way to write code that makes system state easy to determine is to minimize cyclomatic complexity, which is a fancy way of saying “use as few selection and jump statements as possible.” Cyclomatic complexity is the measure of the number of possible paths through a block of code.

3. There was this interesting classification of   

  • Simulation Architectures
  • N-tier architectures
  • Problem-Solving Architectures
  • Dispatching Architectures

You might want to check this book up for the brief on this! Although the official version of this is no more available for free, a search on google must be able to get you to a decent enough draft.

Tuesday, February 25, 2003

"You Make Your Own Reality Wherever You Travel And In Whichever Dimension You Find Yourself."
 - SETH (through Jane Roberts) 

From the dictionary:

Reality: All of your experiences that determine how things appear to you

Creation: The act of bringing something into existence

From yours truly:

Reality: The sum total of one's perceptions based on one's senses, feelings and emotions. (Not a complete, but a working definition)

Creation: The act of bringing something into existence from non-existence

I first heard the above quotation about ten years back. It was a fainéant evening. I was enjoying the accidental holidays due to the postponement of the start date of my engineering curriculum.

I attended another social session where some exciting things about life were discussed. I'd heard about the a  book "Seth Speaks", written by Jane Roberts, published before I was born. I was told that this book contained some things that no other book ever had. I got a chance to get my hands on the book and I jumped at the opportunity.

The book really explained something I had never come across: The nature of human reality! It talked about what is the reality that we experience every day made up of. It explained, in painstaking detail, the sources of the day-to-day events that we encounter during our lifetime. 

It explicated that 'conscious thoughts' led to the formation of 'belief systems'. 'Belief systems' such developed, electro-magnetically affect  the 'physical' reality,  the events observed in the 'physical' realm, the interactions done, and the (seeming) coincidences that occur.

Fascinatingly, the book had exercises at the end of each chapter which were given to enable the reader to cross check each of the hypotheses presented. 

Fast-forward to the present :

I finished reading "The Dilbert Future" a few days ago. After completing "The Dilbert Principle", my appetite for cubicle-humor got whetted and I couldn't resist picking up the "Future". Scott Adams, in his trademark manner, gave predictions about the future:

"In the future, we'll realize that the creatures we thought were from other planets are actually smart people who live in Switzerland."

"In the future, most democratic countries will be led by tall people with good hair and smart staff members."

I was rolling on the floor with laughter again. :)

Unexpectedly, the last chapter had a serious tone. It was a mini biography of Scott. He talked about how he is what he is. He talks about the affirmation technique which he used to get a 94 percentile in the GMAT. His regular score in his exams (all exams including the preparatory exams until the final GMAT exam) was in the 77 percentile. He continued using this technique for bigger and bigger things. He says he wasn't surprised when he got bigger successes in the field of comic strips and books. The reason is, he knew why his reality was the it was, he knew how to create a different reality, at any point in time, whenever he intended one. And, lastly but most importantly, he created his reality in his own wondrous way! 

Here's the affirmation technique (tailored where needed) from the book. No copy right violation intended. The idea is to do benefit the reader of this blog and also do some free marketing for Scott's book. :)

 

AFFIRMATIONS TECHNIQUE:

How to do Affirmations:

1. Have a specific goal, on the you can visualize.

2. Write it down fifteen times in a row, once a day, using the form:

"I, SCOTT ADAMS, WILL GET/DO/ACCOMPLISH WILL BE THE GREATEST COMIC BOOK WRITER ." 

3. There's no set time to expect results, but if I did it for size months without any movement toward the objective, I'd assume it doesn't work and I'd stop.

4. I don't think it matters how many times you write it, if you have multiple goals, if you forget to write it for a week, or if you type it instead of writing it. I don't have any reason to believe the method is so fragile that those things matter.

5. I don't think you need faith in the affirmations in order for the process to work, any more than you need faith to steer your car.

I'm fairly certain you would get the same results if you wrote the affirmations while thinking the whole thing is a load of crap. Be as skeptical as you like.

Affirmation Pitfalls:

1. "I, Joe Blow, want to be a famous Jazz musician."

[The problem with this person's affirmation is he *wants* to be a famous Jazz musician. A better form of affirmation would read something like this:]

"I, Joe Blow, will be a famous Jazz musician."

2. Affirmations with specific dead-lines: "I will get promoted by the end of this month." There are lots of ways to get to your goal, so leave some wiggle room.

[Scott recommends that we don't have any dead-lines for the affirmation to materialize.]

3. I don't recommend affirmations that can happen only one way - such as winning a lottery. Better to set goals that have many ways of being realized. In the case of the lottery, your real goal was probably wealth. There are lots of ways to get wealthy, don't constrain yourself!

The best way to get to know if this is a chance universe or a choice universe is to try an experiment with a technique like this yourself!

Thursday, February 20, 2003

[Self-Realization]

Here's one common problem that most of us face in *using* the Internet:

Scenario: Moby Sanders (a.k.a Motupalli Sudarsanam) is feverishly working on an R&D project. He works with a company called Santanam Software Pvt. Ltd. (a fully-owned subsidiary of Santanam Inc., a U.S. based multi national. ) His aim is to find out the best technologies for EAI and his management has asked him to figure it out. He has a week time to come up with a presentation on what are all the existing technologies (products/frameworks/application-servers with built-in support/SOAP/EAI.. you get the picture). He has about three more weeks to come up with a final document and some prototypes which can be demonstrated to potential clients.

More...

[Software/Download Acceleration]

I couldn't spend time optimizing the Download accelerator. Here is a quick-and-dirty implementation of it. Its pretty straight forward. I've not yet done any timing-analysis of the code, so practically speaking I can't comment on what to optimize. But, I can't resist putting  a couple of ideas I thought of to optimize it :

(i) An implementation of InputStream which has optimized implementations of skip()/read(byte[], int, int).

(ii) Avoiding array copying. Instead using one huge array to which multiple threads will write to.

Sunday, February 16, 2003

[Software/Download Acceleration]

SIGH!!! I got the download accelerator program working. Yet another duplicate realization (not redundant). The problem with my earlier program was that I was passing across the same Input stream instance to multiple threads, all the while assuming that I was running multiple threads. Alas, I was running multiple threads, but not multiple connections! :(

Now that I have this thing working, I'm going to try some performance numbers. Let me see how this thing compares with DAP! :) The only advantage I can see from where I stand is optimizing  the number of threads for a given file size. As the number of threads in the case of DAP is limited, I think there may be a way to *near* the performance of DAP. Mind you, I have the liability of a VM, while DAP doesn't have any such.

Friday, February 14, 2003

Have you ever wondered how to disassemble a Java class? Not decompiling but getting the assembly equivalent of the bytecodes in a class? Javap is the answer! It comes along with the Java runtime. Here's a very simple but an excellent article on this: Disassembling Java Classes.

If you are interested in such subtle but exciting features of Java: An archive of such Newsletters!

By the way, Happy Valentines! :)

Thursday, February 13, 2003

Come to think of it, Life is most of the times: Questions. Questions, more questions and possibly some answers. Questions: Questions on the decisions made, questions on the decisions made, the path we're taking, questions on our competence levels, questions about possible results and alternate paths we might have missed. How do we figure out the answers? Some answers: we think and decide with the limited information we have, hoping that that's the best decision, given the circumstances, and the rest we leave to time.

In case you thought that I was about to tell some self-realization funda, lemme set the expectation right: I was just ranting! :)

Life has been exciting and tiring. I'm into Research these days and whenever I find something new that I didn't know of earlier, it gets really exciting. When I've to keep looking, unable to get to the next step, its tiring. 

I'm implementing an all java version of Download accelerator just for the heck of it. For those of you who don't know, download accelerator speeds up download of files by using multiple threads.

Is blogging about narcissism (or narcism, whatever you wish to call it)?

How do we express ourselves? Yesterday I was watching the movie 'castaway'. The hero is marooned on an island. He desperately needs to light a fire to eat cooked food. In his first attempt to light a fire, he hurts his hand badly. The first reaction is a wild cry, a cry out of sheer anguish. When he ultimately succeeds, guess what he does? He utters a loud *cry*, this time out of happiness! This is expression in its primal form. We feel a need to express our pleasure and pain, our emotions, our reasons, our philosophy, our rationale, what not! Some prefer to tattle, while others love to indite. :)

Monday, February 10, 2003

I'd e-mailed a story sometime back to my friends. This is one of my early writings.

This is another of those stories starring (*ing) a
software engineer and a stack trace:

Once upon a time, in a holy land called as Bharatha
Varsha, there lived a man called softy. He was 
interested in working with soft stuff (no
naughty ideas there!). He believed that Latte and 
Java was the best combination that God had ever 
created. And so he lived his life brewing Java and 
adding syntactic sugar to it. 

More...

Thursday, February 06, 2003

I've re-christened my log: It shall be henceforth called Thought Registry! 

Very befittingly so! I want this little electronic pad of mine to capture thoughts which other wise would get lost in the hoi polloi of day to day coercions. 

Whoever said that reading is the only way to increase ones' vocab? ;)

A little while ago, I made a post, which stated that I was bored. Back then, I wanted one of the three things: 

(i) A laptop. (ii) really challenging business problem OR An innovative product idea OR master one of the new techie thingies. (iii) Excite people.

A challenging business problem: I got this a little while after I made the post. 

An innovative product idea: I'm working on wireless research in my organization. I'm sure to discover some really good ideas in a short while from now. 

Mastering a new techie thingie: I'll be mastering both the server/client side of the .NET mobile computing platform which should satiate my desire to some extent. Its been quite some time that I played with MS stuff.

A laptop: I got this today! Yes!! and the last thing..

Exciting People: I've started spreading excitement at my office. I'm sure to extend it to my other ideas in a short while from now. :)

Whatever you ardently desire, 

Sincerely believe in,

vividly imagine,

and enthusiastically act upon, 

shall inevitably come to pass!

                                                  - Cybil Leek's Granny

Enough inspiration, let me share my perspiration:

Noon time has become stress full. The mornings and the evenings are okay, something wrong with the noon.. I mean myself@noon :) Need to figure out the reason why my energies fall down then.

Charminar: The literal translation is Four Towers. Its a nice view watching from a nearby Cafe. I've been there a couple of times.

Tuesday, February 04, 2003

Sheesh! Its almost been a week and I couldn't get time to update my site. Sharanya is busy updating his. I doubt if he'd like all the attention he'd get by getting the privilege of having a link from mine..chuckle!

I've been doing many things.. lot of interviewing.. lot of research into the mobile world.. and a little bit on the JVM front.

The most interesting thing being researching into the wireless world. Lot of reading. The best part being me getting into the .NET world with .NET compact framework and what not! I should be in a good position to give a better update on the whole thing in a short while from now. Stay Tuned!   

Tuesday, January 30, 2003

[Technology/Back-to-Basics]

I took the interview of a guy with apparently 8 years of work experience and with an Electrical Engineering degree from my own university. His objective: "Currently looking for a challenging position as an Architect or as a Project Lead where my experience and skills will be utilized utmost." He has an excellent resume with all the needed key-words like J2EE, EAI, B2B, TIBCO, UML & UP, TELECOM, CRM, which are really needed by a company like ours. I've been interviewing for some time now for lead positions in the technical area. It was going to be an interesting discussion on various topics, or so I thought.

We discussed his most current project for a while, in which he said he's played the role of a Senior Designer and an Architect. After asking questions on his design approaches and fed up with the tangential answers, I decided to ask one of my favorites: "What is the difference between an Object and a Component"? Now, whenever I ask a question in an interview, I don't expect an answer that is in my mind. I ask questions to see the interviewees' depth of understanding of a concept, and his reasoning for what he think is correct. After he gave the usual answers of objects having methods and variables and components being collections of objects, he gave up! Such fundamental questions, demand in-depth thought which ultimately results in an *understanding*. This is no rocket-science, but questions like this can be frustrating in interviews if we never cared to *think* about the concepts!

Basically, a component has got to do with the way software is packaged  and an object with the way software is written.  Another way to  differentiate between an Object and a Component  is by the *period* one would come across in the development cycle: Ideally, components are to be used at deploy time whereas when you talk about objects, you are talking of development time.

Friday, January 24, 2003

[Technology/JVM]

[Morning]

The JVM is an amazing thing.  I guess that's true with any VM. We started probing  into the the JVM recently due to a RFP we received. Little did I know when I said that we've got this exciting problem on DES, that we'd be hitting a bottom point. 

[Evening]

Got the VM code to start compiling! Its compiling as I write this. Its such a relief. I started the exercise of attempting to compile Linux code of the VM (along with the cross platform code) on FreeBSD5.0. I just wanted to compile the hotspot thing, hoping that I can some how put in the Java jars from a JDK installation (I don't want to touch the JDK! Ouch!! Too much of new code hurts!! :) ).  

Now, FreeBSD actually runs quite a lot of Linux executables, and with much greater speed. I've experienced platform specific issues even with Java code running on different OSes. Everything that runs on Linux runs on FreeBSD? I must have used more of my brains !!

It reaffirms my belief that cross-platform code isn't easy, not in C/C++, definitely not when you're attempting to build some one else's code on some platform that is not supported. 

[Technology/AOP]

Raghuram gave a reply to my AOP post. My desire to be flamed! :)

May be I'm not ready to take more flames at this point, but may be I am! :)

<raghuram's-reply>

Here's his reply and the detail: (I wish I could get my log onto a site with atleast online feedback abilities. Huh! I guess all this will happen in good time, Peace!)

There might be a problem with your example

<code-snippet-from-my-earlier-post>
method a1() {
fld1 ++;
B b = new B();
// code injection here!
b.b1();
}

</code-snippet-from-my-earlier-post>

That assuming that b.b1() method is not called from another method in 
another class (say Class C). In such a case, the interceptor of b.b1() is 
called from the method in Class c as well, which is most likely not 
what you need. You can overcome this problem by writing more logic in interceptor which allows it do some work when called from some methods and just return (and do nothing) when called from other methods. Assuming that you use similar logic as you explained, we need this code in almost all interceptors and this would be very very difficult to maintain. 

This probably is the justification for "join points" Ted was talking 
about. You could invoke an interceptor (or at compile time inject some 
"advice" depending on how one wants to see it) only at those defined 
points. 

<raghuram's-reply>

Excellent point by Raghuram! In toto, he's saying that if we try putting all the logic needed for one particular method (a1) in the interceptor of another method (b1) , we'll end up trying to modify the interceptor code (of b1) to enable the logic when the call is made from a1() but not when its made from some other class.  Right now, with my limited knowledge, I have no choice but to agree.

I have one question: What are the things that the interecption  framework in JBoss cannot do, which a system like AspectJ can? How important are such short-comings (if any) in different scenarios? If we can get the advantages of adding/subtracting parts of a system at run-time (unlike the case of a pre-compilation phase), is it worth going in for a join-point or an interception model, using run-time modification of byte codes or with the use of Dynamic proxies. Enough for today, I gotta hit the library!

In the mean time, Raghuram, I think its good if you take a look at the kind of  interception provided by JBoss. I'll do my  homework and getback. I think the JBoss guys' power lies in the use of Dyna proxies with JMX. I suspect they have facilities to completely alter the interception patterns at run time. 

Monday, January 20, 2003

Die Another DayMakara Sankranthi

[General]

Sankranthi has passed and I couldn't make a post due to hectic activity. Belated wishes!

I got this mail on what you'd lose if you choose the new reliance 'connectivity' offer. To the non-Indians, Reliance is a giant Indian corporate, entering into the telecom space in a big way. The gist is : "No commercial offering is *really* free"! There is always *that* catch which implies more money out of your pocket.

[Technology/Tools]

It gives great satisfaction to use tools created by one's own self. More so, when you realize that it works like magic, taking drudgery off your head! :-)

I(We) wrote a tiny tool using JDK1.4, whose sole job is to run through a project directory and give a list of all the files which are not referenced. This happened a few weeks back. Today, when I needed to clean up my local directory which has all the website files, It was really gratifying to see the tool work with such precision! Here's the source code for the magic tool

Monday, January 13, 2003

Die Another Day

[Technology/AOP]

There was lot of halla-gulla (meaning commotion in hindi) on the AOP!=Interception post made by Ted. Marc Fleury went to the extent of calling him an names! I have no comments to make on the calling names part, but the post by Marc clarified yet another point that I was missing earlier: An AOP system can be fully *implemented* with just method interception. I have come up with an equation 

               AOP == method interception + field interception. 

What else is there to  modify anyways? But this is again looking a things from an OO point of view and in a sense not seeing 'Aspects' in the business problem. Never mind, for starters, this is a very good place!

Let me explain the above equation. What AOP does is abstract out  aspects (cross-cutting concerns) , the simplest example being debug logging on every method entry and exit. Such debug logging will get abstracted out as an aspect and ZERO code needs to be written in any of the objects where this is needed. Instead, this functionality will get 'weaved-in' either at compile or run time (based on the AOP implementation) into all the classes. Voila! the whole thing is so much easy to read and maintain. The argument was that interception can be used only for scenarios like this. 

Let us think of a simple aspect which can't be implemented this way: Let us say I wish to *inject* in the middle of the method instead of at method boundaries. Can it be achieved by method interception. At the first sight, it doesn't seem to be possible, but take another look! Each method body consists of field modifications and/or method calls. Instead of *injecting* code in here, why not intercept the same method call at its *own* boundary?

Let us take up a class: Class A {

           field fld1;

           field fld2;

 method a1() {

          fld1 ++;

          B b = new B();

         // code injection here!

          b.b1();

}

}

My point is instead of trying to inject code at the point specified above, intercept b.b1()! The same can be extended to constructors/field modifications. Hence the equation 

             AOP == method interception + field interception. 

I'm dying to get some techy flames! Any takers?! ;)

[Technology/Databases]

"Do you still use a Database?"

Did you ever wonder if you can build an application without a database? These guys have an excellent idea to do away with all that RDBMS stuff and live with objects (without ever worrying about object-relational mis-matches ). I guess I'll have to wait for RAMs of size with tens of Gigs before I buy their idea :) 

[Technology/ByteCodes/Java]

Debunking Bugs: I've always wanted to take a class file which is being used in a production/QA environment, open it up, make changes to the byte code (add a few statements), save it and run the system again. We can't always debug bugs in an IDE debugger. If you think otherwise try WSAD! I seem to have got the tool I need! It feels so good!! Let me use it and get back with the results. Stay Tuned!!

[General]

One of my friends, Anand has given a detailed feed back on the what/how  needs to be put in this site. I love such feed back! I may have to get an account with roller if I have to have some advanced facilities. All in good time. Peace!

Friday, January  10, 2003

'Buddha' in chinese

The path to enlightenment in understanding software development is a multi-faceted  learning exercise. One of these facets is understanding and learning (and/or create) new technologies and their implementations (CLI, Mono, JavaServerFaces and so on). Another important facet is understanding new programming paradigms. All of us know about how a huge chunk of software development transitioned from Procedural to OO. The next transition (that has been happening for over 7 years now :) ) is to AO, or Aspect Oriented Programming.

Today has been very exciting with this excellent explanation of AOP by Ted Neward. As Rickard rightly opined this is a terrific place to start understanding AOP, if you've been postponing your play with AspectJ or any other AO tools.  Ted firmly stood on his words. Rickard again sent a reply. Read them in that order and you're sure to pick up some basics of AOP and also something on the framework Rickard is up to.

I'm also getting ready to publish an RSS feed of mine. But hey! I've got to get some techy stuff first!!

Thursday, January  09, 2003

Buddha, meditating in the lotus posture

"Appo Deepo Bhava". (Be a light unto yourself.)

This is, in essence, the teaching of Buddha, the enlightened one. I first read about the eight-fold path of Gautama, the Buddha as part of  "social studies" course in school. I never quite understood what Buddha's teaching were about until I met Subhash Patri in 1992. I'd just finished twelve years of schooling and was waiting for my Communication  engineering course to start. 

He taught us about the way to realize the eight-fold path of Buddha in real life. It consists of four steps. The names of these steps are given in Paali language, which was the language used during the days of Siddhartha. Its not easy to get the pronunciation and the spellings correct, but i'm more interested in getting the point across. 

(i) Anapanasati: Ana + Apana + Sati. Ana (pronounced as Aaana) means in-breath, apana ( pronounced as apaana) means out-breath and sati means the act of being with these two. In toto, it means 'being one with the breath' or  'observing the breath' . This is the meditation technique that was taught by Buddha. When one does Ana-pana-sati, Kayaanupassana follows. 

(ii) Kayaanupassana: Kaya + anu + passana. Kaya means the body. Passana is the paali word for the sanskrit word: 'pashyathi' which means 'see'. Anupassana is observing a little of something. The second stage a meditator goes through, when he does Anapanasati is observing the various activities such as external/internal movements of his body, coldness/warmth inside his body parts and so on.

(iii) Vipassana: Vi + passana. Vipassana is complete or total observation as opposed to Anupassana. This is the stage when a meditator goes through when his inner senses are awakened. Vipassana leads to  knowledge of the self and All That Is.

(iv) Nirvana: This is the final stage a warrior who is on the path of self-realization experiences. This is the stage of feeling one-ness with the whole universe. The warrior experiences the void ness of everything, that is himself.

Now that you know the stages in the path of a warrior on the path to self-realization, I'll tell you more about treading the path yourself in my coming posts. 

There is a meditation session in Hyderabad this 14th. You can call me or e-mail me and I'll let you know the details.

Tech Update:

I attended a presentation on SymbianOS, or more correctly EPOC OS.  I've been interested in the developments in the mobile computing arena, and this is the time to catch up. There is a major consolidation of the details of the mobile platforms, technologies, OSes, languages that is happening in my company and I am excited!! There was a discussion on micro-kernel architectures in that presentation. I gave an AppServer perspective of it and some one else gave the Unix perspective of it. More on this in my next post when I talk about Architectures. 

I'm testing the possibility of setting up a "free" discussion forum to get active inputs from you. Do let me know if you know of any which are known to have an easy UI.

Wednesday, January  08, 2003

"You are never given a wish without the power to make it come true. You may have to work for it however".  How correct! I said I want a challenging business problem the day before and I get involved in solving a Discrete Event Simulation problem for a client of my company the next day! Coincidence!? Yes, if you think this is a chance universe. A definite no if you understand this is a choice universe.

Interestingly, I also got involved in answering a question : "How do you make sure that  you architect and code an application so as to minimize its enhancement costs" ? A very apposite  question by an enterprise to check the ability of a technology provider. We'd to assort a set of the architecture styles/patterns that we use. I came across the term 'Software Architecture' quite some time back. Here's one of the early reading I'd done on Architecture. This is included as a part of many essays at the SEI, CMU. So, what is Software Architecture? I plan to post a brief summary on this. I'm not aware of any formalisms related to Architecture which are widely used in the industry. If you do, please let me know. I plan to elucidate on how we can separate design and architecture of software systems and when we need to do it.

Raghuram has started reading about Rich Dad/Poor Dad. If you've not yet read it, you're missing some important lessons on basic Finance. They don't teach you this stuff in school! And hey... this guy isn't studying in Stanford! He finished that about a year back, got married and is happily working with siebel. :)

If you have encountered problems with performance of a huge number of threads using wait()/notify() or some other kind of suspend()/resume() mechanism, let me know, I'd love to hear about it.

And yes, I've made a post on the advantages of being a veggie.

Monday, January 06, 2003

Raj @ Venice during his recent trip to Italy (the guy to your right)

I'm bored too!! These are probably the things I need to get rid of my boredom:

(i) A laptop and a 24x7 internet connection (which are never gonna go away).

(ii) A really challenging business problem which requires real technological expertise. (10,000 ft description)

                                     OR

An innovative product idea which I can translate into a project with a bunch of other developers who are as excited about the idea. (20,000 ft description)

                                     OR

Religiously master one of the new techie thingies.

(iii) Excite people about the new opportunity I've recently come across. E-mail me if you want to know!

 

FROM A NOVICE ECONOMIST:

Tax Fundamental #001: Corporations get taxed on their post-expense income whereas Individuals get taxed on their pre-expense income. I'm no expert in this matter, but here's an overly simplified example:

(i) Consider the case of  You Pvt. Ltd. (or You Inc. or whatever), the income and outcome (I prefer calling expense that way.) calculations are as follows:

Income:                                                           Rs. 100/-

Business Travel Expenses:                           Rs. 20/-

Associate Reimbursement Expenses:         Rs. 25/-

Lease Expenditure:                                        Rs.45/-

Net Taxable Income: 100 - (20+25+45) :  Rs.10/-

Tax (@ 40%) :                                              Rs. 4/-

Cash in Hand @ EOD:                              Rs. 6/-

 

(ii) Consider the case of Hapless You, an induhvidual

Income:                                                           Rs. 100/-

Net Taxable Income:                                    Rs.100/-

Tax (@ 30%) :                                            Rs. 30/-

Net Income:                                                Rs. 70/-

Travel Expenses:                                           Rs. 20/-

Food & Beverages :                                        Rs. 25/-

House Rent:                                                    Rs.25/-

(70 - (20+25+25)) = 0/-

Cash in Hand @ EOD:                              Rs. 0/-

Higher tax bracket for corporations? You must be kidding! :-)

So what is the big deal? If you want to utilize your money well, go start a business of your own!

Got something to tell me, do it. I'll give you the credit and post stuff about you, all this while you are sipping your coffee or having your dinner.  :)

NOTE ON THE PICTURE:

My friend Rajeev stays in London. He  recently visited Italy. The above pic is from his visit to Venice. He is the guy to the right. 

Thursday, December 26, 2002

I'm attempting to put my older posts in this format. Hope I'll be successful. I find a real need to post my thoughts and ideas. (and some photos as well :">)

HTML expertise does help sometimes! I just figured out what rows I need to add to be able to make another such post in the same format at the top of this page. ha! ha!! 

It feels great, uploading this simple page and testing it! 

A small note on the image above: This pic was taken by Anand when he was in India in August. This was our first photograph together. And, looks can be deceptive, I'm the taller one. :) 

Wednesday, December 24, 2002

I got this nice template from Joel. I've been following Joel for about a year and a half now. I like his ideas and his way of going about doing things. 

Sometime in the past, between Sep 2001 - Dec 2002

Hi guys,

I am back as promised with more "stuff"! :-)
I finished reading the book: "How to know God" by Deepak Chopra.
[A small note here: As I'm a newbie to making  HTML pages, you'll have to bear with copy/pasting links until I learn to make proper Links using Yahoo! PageBuilder or I start using some other HTML Editor. Thanks! ]

It was a nice experience reading that book, although It seemed (outwardly) that I was forced to do so. I had met with an accident which reduced my mobility to one single room. The smart me tried a way out by working off my laptop. This seemed to work for a day when the adapter went KAAAAAPUTTT! And there I was without a television, nor a radio, just the book and myself for the whole of the weekend!

I'm an avid reader of books on New Age Spirituality. I've benefited quite a lot from them. I thought, I'd put up some useful stuff I learnt from the book here so that I can hopefully give a brief to all of you who may not get to read the book for a multitude of reasons.

Here is the
summary.

Here is my
first post made on 29 SEPT 2001

Sometime in the past, between Sep 2001 - Dec 2002


This summary is going to be posted in parts. Here's the first part. And the best part is the number of parts is going to be organic. :-)

My Summary of HOW TO KNOW GOD -

[P.S. I never succeeded in making the post. I'd made summary to an extent on my old system which I never posted. And now, I've lost the material.]

Saturday, September 29, 2001


"Argue for your own limitations and sure enough they're yours" says the book Illusions. I have been believing that authoring a web site is a humongous task which would take too much of time and consume lots of resources uptil now.
I am a software professional with a few years of experience. Its kind of funny that I started of my career with server-side programming to server dynamic web pages and it took me all these years to write up a small web page.
What has changed now? Well, Its just that I decided not to get too concerned about me being too perfectionistic..and that's it!

I intend to keep posting lots of good stuff on this site related to the matters of Technology and Self realization - my fields of interest.

Peace,
Harish Vajha
The Sites I frequent:
Managing Software
Rick's Fundas
For Inspiration
My New Interest
Me, Myself & Harish
Name: Harish Vajha
Email: vajha_harish@yahoo.com
 


Home | New Links

All contents Copyright © 2002-2003 by Harish Vajha. All Rights Reserved.