Monday, May 17, 2010

Freelancer - DFT mercenary?

After 4 years in Texas Instruments, since I started working as an 'employee', to put in Ian Chappell's words on captaincy
I was done by the end of it, probably a little before the four years.
In India, there is some 'halo' on being 'technical'. My paper was accepted in a professional conference (VDAT, 2000) even before I started working! My paper was again accepted the next year as well (VDAT, 2001). Again to quote Ian Chappell, I didnt want to be an Adelaide Oval captain. I had to see/check where I stand in 'global' arena. I was one of the co-authors in the paper presented in International Test Conference (2002) and this paper was considered one among the top 12 papers of the conference. Obviously the next step is to see if I am 'good enough' doing it all alone. Texas Instruments did file disclosure at US PTO (2003) with me as 'sole inventor'. I sort of 'rewrote' one entire tool in 5 days on my own (WITHOUT 'normal work' getting affected) since I felt that the legacy 'tool' in the company was unwieldy and not at all optimized. Without losing any of the features and using the contemporary VPI methodology (instead of PLI) for Verilog RTL which 'mimicked' the ATE, I had a demonstrable methodology which was faster and had a small memory footprint. We were still using 32 bit machines then and memory footprint was a big concern. It was least surprising (atleast to me) that the paper authored by me alone was accepted in International Test Conference (2004). I am/was not very eager to go abroad (forget 'settling abroad'), but when my manager said that 'I cannot go for the conference since the company is going through tough times', I felt that enough was enough. The paper does indeed mention the company's name, had got the clearance from senior managers in US and India and I was probably the first in the company, if not the country to have a 'sole authored' paper. To add insult to the injury, I was told that a 'senior person' from India is going to the same conference and he can present MY paper :(

Quite a few months before, I informed my manager that I am quitting. I could have told just 30 days before, but my own framework of fairplay asked me to say it much earlier. I didnt feel like working and there was no point in going through the motions. I also felt that there is nothing new or great that is going to shake my domain (DFT). Humans world over are stuck with legacy and they cant avoid 'backward compatibility' at all. Another probably big reason was that marriages of all my sisters were over and there is no particular 'monetary' reason that I need to continue to work. I had started the website in March 2004 itself with the only intention of being a freelancer. I dont know whether etymology of 'entrepreneur' has some relation with 'enterprise' or vice-versa. I was amused to read Downturn's silver line: More people turn entrepreneurs
The idea of being a freelancer is exciting professionals and they believe that they are skillful enough to move away from traditionalemployment relationship and pick self- employment, the survey report shows, in India, there are people who prefer being freelancers and are promoting others too.
Well, as usual, I was an early bird ;)

Since then, I had worked as employee in many companies - as diverse as SAP Labs to my 'last company', AMD. I didnt expect to leave AMD as I did, but I had planned to leave AMD two months after I actually did. There was a visitor from US in the 12/24 core processor project (Hydra/Istanbul) in which only I was working on the DFT aspects and I wanted to quit after he left. Since then, I had been on 'freelance' mode, not unusual for me. Even with the current company where I work as a 'freelance consultant', I am not happy with the manager (when was I ever happy with an INDIAN manager?). Whether it was SAP Labs or Nvidia Graphics or NXP semiconductors or AMD or the current management, my managers (all of them patently 'Indian') were hopeless (some dont even know what 'professional behavior' means and some have done PhDs in US universities!) and I dont want to rate the best among the worst. Indians love playing 'one-up-manship'/authority game and are all 'casteist' to the core. After all, 'management' hierarchy is profound casteism and as Kancha Ilaiah would say, casteism is profound racism.

Tuesday, May 11, 2010

Cook-Levin and I

My hit at NP-completeness kept me thinking on those lines. Today, I was reading Cook-Levin Theorem in the bus on my way to work. It actually simplifies. Rather, it atleast simplifies my understanding of the problem instead of those esoterics of polynomial time non-deterministic algorithm (clumsy English :().
An expression is satisfiable iff there is some assignment of truth values to the variables that makes the entire expression true.
I am getting more and more convinced that this is a 'doable' problem. Boolean satisfiability problem is the problem of determining if the variables in a given boolean formula can be assigned in such a way as to make the formula evalue to TRUE. I think there are two ways of approaching this problem - one to 'satisfy' it and simultaneously try to 'negate' it. Negation is a common method in theorem proving. You make an assumption and proceeding further on it arrive at a contradiction, thus negating the assumption. Boolean formulae are in two mutually convertible forms - sop (sum of products) and pos (product of sum). For example,
A'B'C+A'BC+ABC'+ABC=(A'+B'+C')(A'+B+C')(A'+B+C)(A+B'+C)
I think now we should try to prove AND negate to arrive at the solution. Prove using sop and negate using equivalent pos. Taking sop, it is obvious that in boolean addition, even one term (say A'B'C) evaluating to TRUE would lead to whole boolean equation evaluating to TRUE. Similarly taking pos, it is obvious that in boolean multiplication, even one term (say A'+B'+C') evaluating to FALSE would lead to the whole boolean equation evaluating to FALSE. So A=0, B=0, C=1 would lead A'B'C=1, thereby whole equation to 1. Similarly A=1,B=1,C=1 would lead A'+B'+C'=0+0+0=0. Use sop to prove and pos to negate. What is the 'issue' here (in getting the million $)? ;)

Wonder what/where the catch is :o