Sunday, May 16, 2010

Side Effects

The thing about a migraine-type experience is that it's like being only half alive. You find yourself walking through this tomb world, everything gets far away and kind of dull and dead.
- Perkus Tooth in Jonathan Letham's Chronic City

So, I've been taking the two medications as a prophylactic for my migraines since early March now. One is an antidepressant and one is a beta blocker. For the most part they're working. While I'm not completely without migraines, they've reduced an awful lot. And for when I do get them, there's a triptan I can take that usually relieves one.

But wow, there's side effects, too...

  • Every time I wake up I'm extremely confused and disoriented. Especially if I go to sleep when it's dark and wake up when it's light. Then I have no idea where the light came from or who's shining it through the curtains. The doctor assures me it's normal, everyone wakes up confused in the morning, but if I compare the roughly 14,800+ times I've waken up before I was on the medications with the 70 times I've woken up after taking it, I know the difference.
  • Hallucinations, especially when I'm tired. When I wake up from sleep, the view from the bed is almost always that I'm on the edge of a huge chasm, and the little foot board that sticks up from the bed is a railing to keep me from falling off. The dressing table, a couple of feet away, looks to be a mile away, across the chasm. Whoever's in the mirror on the dressing table when I wake up, I usually don't recognize them for a couple of minutes and I'd swear there's someone else in the room.
  • One hallucination I had was when Leena came in on a weekend morning I waved to her in the doorway, but my impression of it was that I was holding a picture postcard of her, with the doorway being the white border around it.
  • Songs get stuck in my head more often. It's harder to get them out once they're there, even when I'm concentrating on other things. I think early on, before I recognized this I may have blurted out some lyrics at work when someone asked me a question. It's probably a good thing I haven't been in a Soundgarden mood much to listen to Louder than Love.
  • I'm a lot more angry than I was before taking the medications. I've lost a bit of my former easy-going nature. I think I've snapped at coworkers, and I know I've written at least one email at work I regret (not the concepts, but I think I could've phrased things a bit gentler).
  • Impotence, I just have no interested in sex since starting the medications. On the other hand, before that I had the interest but was in too much pain to do anything about it, so maybe it's not a bad trade-off for the short term. But it still makes me wonder, "what the fuck's wrong with me?" (which of course, I can answer...)
Hopefully I won't be on these medications for too much longer. From what I've read the usual time is in the neighborhood of six months, give or take a little. Although the one night I forgot to take it (actually, I was super-sleepy and couldn't remember if I took it or not and didn't want to double the doses in case I had) I had a bad, bad headache the second day after that, the worst one since I started it, so maybe I'm not ready to quit them yet...

Monday, May 10, 2010

Job Hunt and a Coding Test in Java and Ruby

Thursday evening last week I had a Skype interview with the technical recruiter from a small New York City company, Cyrus Innovation.

One of the things we talked about was if I was interested in sticking with Java or if I'd be flexible about other technology, Ruby, in particular. I said I was open to other technology, but mainly focusing on Java because as it's what I'm doing day-to-day, it's what I'm most comfortable interviewing about.

At the end he said he would send me the Ruby coding test. I said something like "sure, I'll try that. Doing it in Ruby should give me a push to learn a little more Ruby". Then he apologized and said it was a slip of the tongue and he would send me the Java test.

Shortly after that I got an email from him with a link to their Java based coding test on their website. I read through it, and since he'd mentioned a Ruby test, thought I'd just tack on "_ruby" to the URL. That worked and I got a Ruby version...

So, Friday night I began work on the Java one, wrapped it up on Saturday evening and then decided to try it out in Ruby. It was essentially the same test, although the text on the website was formatted a little different and it gave the individual input files and output files instead of a zip containing them all, but really, the same test.

I worked from late Saturday night till nearly dawn on Sunday, searching Google for some Ruby help and digging in the index of The Ruby Programming Language by Flanagan & Matsumoto to find answers to my questions about getting it done in Ruby. I actually had a lot of fun doing that. With a dearth of ideas for what to program, rather than a lack of interest in learning, this gave me a specific project to do.

I continued it later Sunday morning and by early evening had the same output from the Ruby code as I did the Java code, and the same unit tests. I didn't copy and translate the code directly, I tried to use Ruby idioms where I understood them, but since it was my first real Ruby code, I doubt it's top quality.

I emailed both zip files to Cyrus Innovation with the explanation that he gave me the Java test and mentioned the Ruby one, so after finding I did it just so I could learn a little more Ruby. Hopefully that'll make some kind of good impression and back up what I said about being interested in learning (which is certainly true!).

So that's step 2 of 4 from their recruitment process done. Everything he told me about the company made it sound like a place I'd enjoy working. At this point I really want to get through the next steps and I hope they hire me, it sounds fantastic.

The only problem is step 4 of the process... I can't easily fly there to spend a day in their office and fly back. He said he'd talk to some people there about what might be done via the internet for that.

To Mock or not to Mock, that is the question...

Yoda: … But beware the mock side… Easy they flow, quick to join you in a test. If once you start down the mock path, forever will it dominate your destiny, consume you it will...
Luke: … Is the mock side stronger?
Yoda: No, no, no. Quicker, easier, more seductive.
Luke: But how am I to know the good mocks from the bad?
Yoda: You will know…

Over the last three years that I've been on a project doing extensive unit testing (not that I was ever doing unit testing before, though I'd heard the name) one of the major battles our team has had is about using mocks. Primarily it's "do you mock concrete classes or not". Mocking interfaces isn't such a question because that's the whole point of an interface, you write whatever implementation you want, and in a unit test that could very well be a mock object.

Mocking collaborators is a great way to work out the interactions between objects, and for stateless service methods allows you to isolate your tests to primarily just the object you're trying to test without by not forcing you to set up way too much data and classes and state around the other objects.

And of course, you have to think about the purpose of testing. Some say it's about using tests to design your objects. I don't disagree, but based on pretty long experience writing software, I think another purpose of tests is to "protect" your code from future changes.

We all know that code changes as the product/project or whatever evolves and goes through future changes, that's pretty much a given. Having spent years working on untested code, I like the idea that tests tell you later when changes affect code by failing. They tell you that a future change, possible to some other class, requires you to change a class you may not have thought of. It's great, and it helps reduce regression bugs later on.

At first it wasn't a question, we used JMock version 1 and that only allowed mocking interfaces. Using it we had test code that looked like:
Mock mockService = new Mock(BlahBlahBlahService.class);
mock.expects(once()).method("doSomething").with(eq(domainObjectId), eq(newValueAmount));

And so forth. It works, but the part that's inelegant is having the method name in quotes so that refactors don't automatically change it and you can't easily find where that method is called.

But then with JMock2, we got better syntax like:
BlahBlahBlahService mockService = createMock(BlahBlahBlahService.class);
addExpectations(new Expectations() { {
one(mockService).doSomething(domainObjectId, newValueAmount);
} });

But with this JMock2 also brought the ability to mock concrete classes... And that's where I think the trouble begins.

On our project we've set up "builders" for just about every domain object so that in tests we can fairly easily create a stateful domain object with any state our tests need. It works quite slick in our test code:
DomainObject domainObject = new DomainObjectBuilder()
.someStringValue("xyz")
.someOtherStringValue("abc")
.someObjectValue(new Object())
.someIntegerValue(123)
.build();

Granted, some can get fairly complicated with a test requiring building multiple objects. I'm not saying it's always 100% easy. And often if setting up data for your unit test is really hard, it's a sign your design isn't quite right and it's time to think about changing that. On the other hand, I kind of think that if the code is complicated, the test should be equally so, they go hand in hand, and if the test is too much simpler, it may not be a good test.

When we switched to JMock2, a lot of the younger, less experienced guys, who didn't have much experience at maintaining older code through generations of changes wanted to start mocking every object except the one being tested. They were concerned about "purity" and that every unit test had to be a "pure unit test" which meant that the object being tested was the only one not a mock. They wanted all other objects mocked so that each test tested only one single object.

I understand the argument about purity, but I disagree, if they're too pure, they're not future-proofing your code (in metallurgy, pure steel isn't as flexible if impurities, such as manganese aren't added). By mocking everything else, it prevents our tests from catching necessary changes in an object if the objects it collaborates with change in some way. The test is essentially "putting words in the mouth" of other objects. I think if an object is dependent upon another object, it's good for the test to be equally dependent.

Another coworker gave a good argument against "purity". How would you test this function?

public String truncateTo10Chars(String source) {
if (source.length() > 12) {
return source.substring(1, 12);
} else {
return source;
}
}

A mock test for that would be simply silly, mocking a String? It would look like:

String mockString = createMock(String.class);
String truncatedString = "123456789012";

addExpectations(new Expectations() { {
one(mockString).length()
will(returnValue(15));
one(mockString).substring(with(equalTo(1)), with(equalTo(12)));
will(returnValue(truncatedString));
} });

String actualString = truncateTo10Chars(mockString);
assertThat(actualString, is(truncatedString));

That'd be a bit of a crazy test...

One of the unit tests that a mock fan wrote in our code dealt with a domain object's method returning a particular enum value. The mock fans didn't want to build it, they wanted the test to be pure and the test of the class calling the domain object to mock the domain object to avoid "testing" the domain object itself. I tried to suggest "well, what if in the future it returns a different one of the enum's values, we'll have to change the code calling it because it's dependent upon what's returned, but the test won't tell us because it's still the same data type and it won't fail."

I lost the argument, not by logic but by not talking loud enough, not yelling my answer to "that'll never happen, this is the way we've written," and then the other mock fellows switching to Hindi to cut me out of it.

And two years later, we added a new option to the enum and changed the return values of newly created domain objects that used it. All the tests passed, and the code failed when we ran the application, because the tests used mocks and didn't tell us what code depended upon that domain object that needed changing.

Anyway, after quite a while I began to think a little different, and come to a balance. I saw an example of a concrete class where we didn't care what values were in it, we only wanted to make sure a particular method was called, and there a mock made sense.

So, what I've come to is, mocking interfaces is fine. But with concrete classes, never mock the state of it, but if your test has nothing to do with the state, it's okay. Essentially, that's mocking just the interaction, and that's essentially the concrete class's "interface".

Friday, April 30, 2010

Does Security Trump Safety?

Does security trump safety? We had the fire drill a few weeks ago in the offices in Pune and after taking 8 minutes to exit were berated by whoever organized it that if it was a real fire and we weren't out in 2 minutes we'd all be dead.

In the evenings I always walk down the stairs from the 8th floor instead of the elevator (I take the elevator so rarely that I feel dizzy when it's descending), and this evening on my way out was no different. Except I got to the door to the stairwell, one of the few emergency exits, and it was padlocked shut!

I pointed it out to the watchman and he dug around in the drawer behind the desk and took about two minutes to find the key and get the door open for me.

What if there'd been a real fire? And there'd been 100-200 people panicking, packing the lobby tight and trying to get through there and it took two minutes to find the key? Or would we simply rely on the standard, poor quality construction in India for the crowd to easily smash the door?

Wednesday, April 21, 2010

Caught or Catched?

Yeah, I know English, and not too bad, either.

Yesterday at work I was pair programming with a young teammate and we banged out some Java code like this:

try {
doSomething();
} catch (Exception e) {
processException();
}

And she was describing the flow while we were debugging to figure out why something wasn't working and she said "the exception should be catched here" and I automatically said "caught" and she said "sorry, caught".

But thinking about it a little more...

Maybe catched is okay. In this case, catch is a Java keyword that coincides with an English word. And describing what it's doing it could very well be that catched is a proper description of a keyword expressed in English.

For sure, if we wrote "caught" in the code it wouldn't compile...

Thursday, April 15, 2010

The Job Hunt Begins

So, on the weekend I was looking at Craigslist for software jobs in the New York City area and found an interesting looking one for Ruby on Rails developers. I've tinkered with Ruby on Rails, but am nowhere close to an expert (especially as the Head First Ruby on Rails book had so many blank pages, thanks to cheap Indian editions...).

But I figured I have enough experience with enough different technologies that it's no problem, if I can convince an interviewer that I can learn, I really can. It worked at Tieto... I hadn't done Java before I went for the interview, so I studied up for a week in advance. Then when I met with Jit and Binny, they wanted experience with JUnit and unit testing. I told them I hadn't used it before and asked for a week to learn before doing the 3-hour pair programming exercise with Jit, then went home and spent the week waking up early to write unit tests...

So, Sunday evening, and Monday I rushed to finally prepare my resume so I could send it before I was too late. I'm not entirely happy with all parts of it yet, but it was better than it was.

Tuesday evening I got an email from the job recruiter saying he was interested, but had to work out with his team how to do an interview, since he has to interview everyone first, which I certainly understand. He suggested Skype.

So, I signed up for a Skype account, as I've never used it before. I tested it out on my Mac and it worked. I called the test line, recorded a message and when Skype played it back I sounded like me. Unfortunately, some asshole already took the account kevinrubin so I had to settle for one with my middle initial kevinhrubin. I'll probably forget it and keep trying to log in as my usual account name.

Wednesday evening I got an email from the recruiter that the job was already filled, but he'd keep my resume on file.

So, my new job search is off to a start. This evening I was browsing around LinkedIn to see what sort of job search facilities it has. Looks like some possible ways. A cousin, Nitu, suggested Monster, but just going to their page is a bit overwhelming, and it knows I'm in India so all the searches I tried so far return Indian results, even if I specify New York, then it gives things like New York Met Life, but still jobs located in India.

Anyway, here's a draft of my resume... I'm, of course, still working on it and only recently realised I should work in something about continuous integration...

And it also dawned on me that the two other developers at my first job mentioned, way back then, that they went to high school with one of my readers now, as they knew of the OIT connection at the time...

Kevin H. Rubin



Telephone: +91 98903-66613

Email: kevinrubin@gmail.com

Skype: kevinhrubin



Areas of Accomplishment:


Design

Excellent knowledge of computers with a “big-picture” focus. Can successfully analyze a project and deduce necessary steps for project completion.

Adaptation

Readily able to learn new material and troubleshoot problems. Quickly absorb new programming topics and easily achieve senior-level ability with some documentation and a few examples.

Software Development

Expertise in Java, C/C++, SQL, Adobe Flex, C#, Visual Basic.NET and Assembly Language. Developed web applications using Java Servlets, JSP, ASP, Spring and Hibernate.

Experienced at domain modeling, easily able to structure data to match “real world” needs and queries within a program.


Exposure to Ruby, Python, Groovy, Perl, Objective-C and other languages.

Team Building

Skilled at working with groups, formalizing design problems and understanding parts to complete the whole. Great communication skills with co-workers, supervisors and customers.

Systems

Many years of experience managing and developing software on computers and networks using Windows XP, 2000, NT and 98, Linux, Mac OS X, MS-DOS, OS/2 and Novell Netware.



Work History:


TietoEnator Software Technologies Pvt. Ltd.

Pune, India

June 2007 - Present

Software Development – Working on an Agile / Extreme Programming team developing an SOA Java Mortgage Origination System for U.K. lenders using


Java with Spring and Hibernate, built using Maven and Ant. Integrated with IBM ILOG JRules, Oracle AquaLogic BPM, Windward AutoTag document production, Atlassian Crowd. Front-ends developed with Adobe Flex and Tieto's proprietary MCP platform.


All development is done with pair programming and test driven design using TestNG.


As the most senior developer on the team in India, I develop code as well as guide the younger developers and troubleshoot any issues with the development environment.


First Insight

Pune, India

Beaverton, Oregon

September 1997-May 2007

Software Development – Worked on nearly all of First Insight’s products on a variety of platforms: Java, Java Servlets, JSPs, ASP, C, Visual Basic.NET, Microsoft SQL Server, MySQL and FileMaker Pro. Developed software for medical billing, accounting, financial reporting, electronic medical records, and patient scheduling as well as system tools to allow other programs access to that data.


Software Testing –Involved with testing nearly all of First Insight’s products, including modules I’ve written as well as those developed by others.


Technical Support – Provided technical phone support for the maximEyes product for hundreds of customers. Performed troubleshooting, training and custom programming directly on customers’ systems.


Network Administration – Administered First Insight’s Windows NT network. Assist other network administrators as needed, especially in developing UNIX shell scripts to perform specific tasks for our few UNIX servers.

PC-Kwik

Beaverton, Oregon

September 1993-January 1997

Technical Support – Supported a wide range of performance enhancement utilities under DOS, Windows 3.1 and Windows 95. Worked closely with customers and coworkers of all skill and experience levels, from complete beginners to advanced system designers, by phone, fax and email.


Software Testing – Worked with engineers, marketers and customers to test PC-Kwik’s utility and development tools in four categories: bugs, compatibility, usability and performance. Coordinated external beta testing for the CD-ROM Express product.


Software Development – Wrote and maintained PC-Kwik’s 16-bit DOS and Windows Installation, Setup, Uninstall and Configuration software in a combination of C and Assembly Language.


Network Administration – Kept a small Novell Netware LAN running reliably.


Technical Documentation – Edited and wrote parts of PC-Kwik’s user manuals.


Sales and Marketing – Talked to potential customers who had technical questions about PC-Kwik software and helped the Marketing department sell the software. Maintained the PC-Kwik Web page.


Maynard Rigby and Associates
Portland, Oregon

June 1992-March 1993

Developed, maintained and supported custom C and BASIC applications to expand and enhance Platinum and Macola accounting software, using Btrieve Record Manager on DOS/Novell networks.


Linn-Benton Community College
Waldport, Oregon

1984-1987

Classroom assistant for Linn-Benton Community College adult education courses. Assisted beginning BASIC programming students with computers.


Waldport, Oregon Area

1983-1987

Helped local residents, schools and small businesses assemble and install personal computer systems, developed small custom applications and tutored users on software use.


Education:

Oregon Institute of Technology

1987-1992


Coursework in software engineering.


Waldport High School

1982-1987


Other





US Citizen




Tuesday, April 6, 2010

Big Company vs. Small Company

Recently a bunch of new trainees joined Tieto in India, fresh out of college. They go through a three month training period where they get to experience a variety of technologies (.NET, Java, etc), tools and software development roles (programmer, QA, etc.). Towards the end of the three month period this time someone must've had them all write a post in a company blog. This one caught my interest:

I joined Tieto on 15 Dec 2009. I always dreamed to work in a big company like Tieto. The most important thing I had seen here is respect for all employess, all the senior level people are really supportive and helpful. One more thing I like most is the open culture concept which I never seen before. We enjoyed the first month of training which is most interactive with the seniors. They shared their experience and thoughts. They gave us the confidence that you are lucky because you are at right place at right time. In Tieto sky is the limit to our growth….

Not long before reading that we had some training on the new HR tool for annual performance reviews and personal goal setting and what-not and that had me thinking about my own career growth, and how I'm glad I spent my younger, junior years in smaller companies before joining a big company, like Tieto.

Tieto has around 16,000-17,000 employees, and more employees alone in the Weikfield office here in Pune than all my previous employers put together. My first company, Maynard Rigby & Associates had as many as 8 people when I worked there, followed by PC-Kwik that had around 60-70 when I first started and shrank down to around 10 before going out of business and then my previous employer, First Insight, which had 13 or 14 when I started and up to 150 at the height of the dot-com boom (and I never knew what all the people did, I think some were just filling job titles to satisfy the venture capitalists).

At the smaller companies I had a lot more opportunities to try different job roles, different responsibilities and to learn more about what I enjoyed, what I was good at and what I was terrible at. Whereas at a bigger company I don't see as much chance for skipping all around to explore.

At Maynard Rigby, I was a junior software engineer, and I worked on C and BASIC coding, I talked to customers almost every day. As the youngest, least experienced programmer, I was doing the least critical programming tasks so that meant I was also given responsibility for most of the IT work, I maintained the Novell Netware network, I ran the fax computer, I fixed everyone else's computers when they didn't work right, wrote documentation for our customers and got to experiment with any new technology to evaluate if we could use it.

MRA also gave me a chance to be a receptionist and answer the phone, take packages to a nearby post office, meet whoever came in the door, sign for packages and write big checks for C.O.D. deliveries (the biggest was for an expensive software suite at over $100,000).

On the really downside, though, at Maynard Rigby we had a strict dress code. The guys all had to wear suits and ties on a daily basis. The loophole I found was the dress code didn't specify shoes, so I wore my Converse high-tops with my suit (although I did keep dress shoes in the office so the others wouldn't be too terribly embarrassed if we all went out for lunch...). The boss said "you can't write accounting software unless you look like an accountant." The only one who didn't have a dress code was Angie, and that was because the boss said he didn't need to tell her how to dress, she knew better than the rest of us.

Then at PC-Kwik I was hired as a technical support guy for our system software. It didn't take long for QA tasks to be given to the tech support team to do "between calls". And as we shrank I picked up responsibility for the Novell Netware network (including getting filthy and covered in fiberglass insulation carrying cables through the ceiling...) and maintaining almost all of the office's computers. That includes physically carrying them wherever they needed to go, instead of a laborer to do that.

Shrinking further I picked up more formal QA and started doing development on non-core parts of our products, mainly based on my directly talking to customers and knowing what their main problems were. Eventually when we came out with a new product, the ill-fated CD-ROM Express, I also got involved with writing the manual.

After PC-Kwik went out of business I joined First Insight, also as a technical support specialist. And it didn't take long before I was doing custom programming for customers and doing development on the product that was mostly what the engineers said couldn't be done, editing technical manuals and documents and naturally, network administration before finally burning out with tech support and moving full-time to the engineering department and volunteering to pick up the data modeling and SQL development. Over the ten years at First Insight I got to work on many, many modules and almost all of the products we made, with a variety of tools and languages (well, ok, I used C and C# when I was told over and over again to use the company standard Visual Basic, but hey, that's some of the variety).

Of course, now at Tieto, within our own Origination Suite project we're all Agile, part of which involves all developers owning all parts of the application and all the code, which gives some variety. I really, really enjoy this project, but it's a big company, there's no way I could easily switch over to .NET if I wanted to try it, or get involved with the network administration without having to give up work on Origination. Very few people actually do multiple roles at once, everything is segmented.

And a big company has much more bureaucracy than small ones. Getting anything is a pain in the butt at Tieto. Our team determined the developers could be more productive with two computers each, and it took over a month to get the IT department to get them to us. Lots of paperwork, follow-ups with the IT department, with 20 digit ticket numbers, multiple managers having to sign off on it.

Compared with at First Insight when one day I told my boss, "Nitin, I could be more productive if I had a 17-inch monitor." After work he drove to a nearby computer store, bought one and the next morning I carried it up from his car to my desk.

Looking back on my career so far, I think PC-Kwik and the Origination Suite project at Tieto have been the most fun. First Insight might've been, except I stayed till I reached the burn-out point, which overshadowed the years I enjoyed. Working at Maynard Rigby was an experience I'm glad I had, but glad it's over and glad none of my other employers have been quite like that.

On the other hand, quite a number of the people I worked with in tech support at PC-Kwik are dead, from cancer and vehicular accidents. The odds don't look good for me.



As an aside... Of all the trainees' blog posts, the one that really stuck out the most was this one:
When I started playing the game it was just 6 plots of land with some strawberries and eggplant and 2 plots left unsowed…. Since then my farm has grow in all directions.With trees, buildings, animals, decorations spread all across my farm…
Not a single day goes by without visiting my farm…
Day and night logging in and out to check if there’s something posted on the wall,any animal to be adopted , any bonus shared , any help needed by the neighbours…(even though I don’t know that person in real life!!! :) )
Its all about reaching to the next level,earning XP’s,coins and staying ahead of all.The addiction reaches to the next level when there’s free access to the internet at work !!! :) .All I can say that i am loving it here!!!(“Its too goood :) ”)

Actually, I wrote back to that young woman and suggested that while I'm not suggesting she not play and enjoy FarmVille, and that I'm not her manager, this post might not be the best, the most professional way of "introducing" herself to the full 16,000+ people around the world who may be readers of the blog... And that in my opinion, the office internet isn't "free access" it's earned by getting work done.

Sunday, March 28, 2010

Fire Alarms and Broken Teeth

Thursday around noon there was a fire drill. First the siren started blaring, then some guy got on the office loudspeaker and sounded like he was panicking, "there is an emergency, leave the building, this is not a drill, this is a real emergency, you must leave the building immediately.".

Then the members of the Emergency Response Team (ERT) started running all over in their fluorescent orange hats to get everyone out and to unlock the padlocks on the emergency exits (naturally, this is India, they're padlocked for security…). The exit for my part of the office is the central stairwell behind the elevators, so I went that way where around 500 people from both wings of the office had to merge through the door that's only barely wide enough for two people at once and eight floors down the stairs that are such polished smooth stone, covered in dust and having hardly more friction than ice, so no one can very fast and safe down them, all while people on other floors, uninvolved in our drill were working their way upwards…

Outside it was high noon without a cloud in the sky and they kept us at the assembly point for around 20 minutes. Whoever the guy was who was in charge of the drill he had a bullhorn and berated us for the whole time about how slow and how bad we were exiting the building. He said we took eight minutes, and in a real emergency anyone not out in two would be dead. Then he asked us to look for the person who sits to our right, and the person who sits to our left and if we didn't see both of them to let a member of the ERT know.

He said "I watched you come out, many of you were on your mobile phones coming down the stairs, if this was a real fire and you slowed down to talk on your phones the only thing you should've been telling your friends is good bye".

And he said "I don't see any coffee cups this year" followed by a number of people raising theirs, to which he said "how can you bring your coffee cups? If you slow down in a fire to bring your coffee cups you'll never need your coffee again, you'll be dead!"

He started yelling about ladies not taking off their high heeled shoes and slowing the whole group down on the steps, and then somehow segued into something about motorcycle helmets and car seatbelts, which I didn't quite understand.

When we were finally finished then we had to get all the people back up to the 8th floor… After twenty minutes in the hot sunshine, with no shade at all, I started getting a pounding migraine so I didn't think the stairs would be an option, or it would just much, much worse. A friend and I waited at the elevator bank till five or six elevators came and went before the one we stood next to finally opened and we got in.

Then being hot, tired and with a headache it took a while before I could get back on track with my work. I'd sort of begun a major refactoring Thursday before the fire drill with a lot of details to remember, only to come in Friday morning to realize all the details that slipped my mind due to the interruption.

For some reason it reminded me of an incident at at my last company, First Insight at our Hillsboro, Oregon office. In September 1999 there was a lot of tension as the then main network administrator was on his way out, with me the next in line for the responsibilities. The owners of the company said "there's been a security breach" so they were getting rid of the network admin. The network admin said they paid him a lot of money to leave and not say anything, but he hinted that if I knew what he knew about the owners I'd be able to blackmail them very well, too... I never found out what it was, of course and I have only speculation with no proof of anything.

That aside, on one of the admin's last days, shortly after I left the office around 3pm (6am to 3pm shift...) there was a fire alarm. A little while after I got home the boss called me and asked if he could bring the company's file server to my house because it's been damaged and he suspected the network admin, who wasn't fully out of the company then, had done it so he didn't trust him.

He brought the computer to my apartment where I set it up on the pool table. I got an explanation of what happened...

Intel was preparing the office below us for one of their groups to move in, and the construction workers drilled, with the dust setting off the smoke detectors. With a potential fire, not a drill, the boss asked several of the guys in the office to take the file server out to his car to keep it safe. However, several of the guys, and the big dent on the server's case, say that they accidentally dropped it in the parking lot.

When it was determined that there was no fire, just dust, and the building was clear for everyone to go back in, they brought the server up, but it wouldn't boot anymore. That was when the boss called me up and brought the computer over. I did a quick check and it wasn't going to be a quick, instant fix, and I estimated it would take me hours to get it going again.

Later in the evening another coworker popped by to help. For a snack we brought out the bag of Laxminarayan chiwda that I'd picked up in India on a vacation earlier in the year. We worked on the computer, speculated on the "security breach" and munched on the snacks.

Until I was chewing and chewing and found a much harder piece of chiwda than all the others. I mentioned it to him and then spit out a small, black rock. To this day two molars on the left side of my mouth, an upper and a lower one, are chipped, with the chips in the two lined up from chewing the rock I didn't expect in my food...

Sunday, March 21, 2010

Macintosh Hardware Problems

Over the past few years I've had not one, but two, Macintosh laptops lose their LCD displays here in the home office during the hot, summer months. I don't know why, I sort of suspect a combination of heat and dust (I mean, just look on the wall above the lights and fan regulators, there's scorch marks all over). Both of these two laptops have the same hinge type, whereas the oldest PowerBook, with a different type of hinge has been fine...

The very last day of the 1 year warranty on the almost-new MacBook I managed to buy an AppleCare extended warranty, with the intention of getting it fixed in the U.S. sometime later this year or next year.

However, in December Leena found out about a Apple dealer near her family's house, PT for short. I knew it was there for several years, in the small office building on the same side street as her family, in fact, one of my close friends from my previous job said he used to work at an office in the same building and take his smoke breaks on a park bench across the street from my in-laws' house (that was before we ever met).

When the first Mac screen broke a couple of years ago (I joke that it was caused by my playing Diablo II, roaming through a mountain top castle as a Druid and raining flaming meteors down on demons when one of them bounced out of the game) I suggested we take it for repair to PT, but Leena said no way. She said PT owed her family money for years and never paid it, so we couldn't go there. At the time we found another, new Apple dealer in a new shopping mall in Kalyani Nagar and the price of fixing the broken screen was way too high so we bought a 20" external monitor instead (that I'm looking at now, as I type this).

But then earlier this year Leena again noticed PT and said we should take the newest broken Mac there. I mentioned the story she told a couple of years ago and she checked with her brother. She says she was mistaken about the incident and her brother says PT is a perfectly respectable business... She remembers her brother was going to buy their family business a new computer, from PT, some years ago and she would get the old one for herself. Her mistake is she only remember not getting her own computer and always blamed it on PT, when actually it was her brother who decided they didn't really need a new one and canceled the purchase...

We took the 13" MacBook to PT and the woman who owns it, Rajan, had their technician do a quick check to make sure that it was obviously damaged, like throwing something at it, and they determined that the broken screen was fully covered by the AppleCare extended warranty I'd purchased. They said they needed a week to order the part and then we could bring it in for replacement.

That went smooth and we decided to have them look at the 17" PowerBook with the broken screen that was not under any warranty (I bought it in 2005). She said it would be Rs. 42,000 to replace the screen, but then a little more checking and she said there was some kind of replacement where they would purchase the old, damaged screen for Rs. 17,000 and we'd only pay Rs. 25,000 for the replacement.

At that price we agreed to get it fixed, so Leena could have the 17" PowerBook for her own usage. Rajan ordered the part and about two weeks later we brought it to them for replacement. And that went fine.

I spent a weekend moving Leena's data from the older 15" titanium PowerBook to the newly repaired 17" one and got it ready to synch with Leena's iPhone without losing any contacts or videos.

Then after she used it for a day or two she asked me to get the sound working. Sound working? I looked and neither of the speakers worked on it. I tried various songs and videos and they were all silent. I verified that headphones worked, but the speakers were broken.

We called Rajan who asked her technician who said he didn't touch the speakers when he replaced the screen, they must've been broken before we brought it to them. I wasn't sure, but I hadn't used it in long enough to really be sure when the last time I heard sound from them was, maybe a year earlier? Rajan checked the price and it was only Rs. 1,000 to replace the speakers and we figured since we already spent a huge chunk of change on the screen, what was another Rs. 1,000 to get the sound fixed for Leena, so we agreed to that...

All went well again, the speakers got replace and we popped over to PT's shop to check it out. I played a QuickTime version of Apple's 1984 Superbowl advertisement for the Macintosh and Rajan liked it so much that she asked one of their techs to copy it to a USB thumb drive for them. They tried a couple of thumb drives but they were both bad and didn't work, so we said we'd bring it by another time for her to copy when they got a working drive, as we were late for lunch with Leena's family.

The next night we set the computer up for Leena to browse the web and she complained that she couldn't get the Bluetooth mouse to work, which had worked only two days earlier. I came and looked and there was no Bluetooth icon in the menu bar. I checked the System Preferences and Bluetooth wasn't listed there at all. I searched the System Preferences and it found Bluetooth items but choosing any of them and it warned me that there was no Bluetooth hardware attached. That's very odd, since Bluetooth is completely build in and is not removable.

Leena called Rajan who said she'd check with the technician who told her he didn't change any Bluetooth settings when he replaced the speakers so it had to be that way before we brought it. We knew it wasn't and Rajan said to bring it in the next day, then she left the office for home, since it was late in the evening.

In the meantime I figured I'd hook up a USB mouse for Leena, except when I did that, none of them worked. The red LED didn't light up in the mice and the computer didn't recognize them. I hooked up an iPhone and a USB thumb drive, and no luck, none of them worked.

Friday we took the computer back to PT for the technician to look at. By the end of the day Saturday he still didn't have it working. They got one of the two USB ports to work, but couldn't get the Bluetooth interface working unless the keyboard was lifted off the computer, or held down very hard. Sounds to me like he may have bent the motherboard while replacing the speakers and broken one of the contacts inside it or something...

We're not sure what they'll do now. It's long, long out of warranty, so we don't have any coverage there for it. I'm hoping they'll get a new logic board from somewhere and reuse the CPU that's in it. At their expense, of course, not ours...

We'll see...


Thursday, March 18, 2010

Two Week Vacation to do Nothing

So it's Thursday night of the second week of my two week vacation and now the end feels so near. The first week seemed to last forever and this second week is going so fast, and I don't want it to end.

Not that I've done anything or gone anywhere… For the month or so before I took it I was missing more work than I ever have before with sick days because of the wretched headache that wouldn't go away. And since I hadn't taken a vacation in well over a year I figured I could get two weeks off.

I didn't really want to do anything. I didn't want to go anywhere. Since at the beginning I had a pretty nasty headache I certainly couldn't imagine flying anywhere, and what the plane trips would do to my head, and neither do I have any wish at all to travel within India at this point (I need to get out of India for a couple of years before I consider seeing more, as all I'd notice now are beggars, dirt, litter, trash and I'm so burnt out on spicy food I wouldn't appreciate anything in other regions).

The last week I was at work was the first week I was on the medication from the neurophysician for the headache (he said it was "just a migraine" even though I insisted it felt different than the migraines I've had on a regular basis since I was a teenager), two pills a night, small doses of a beta blocker and an antidepressant, which I looked up online and are standard treatment for migraines.

But the first week of those was a nightmare, I was tired, sleepy, dopey and worst of all, depressed. That week at work I felt so defeated and low I wasn't sure I could even last out the week taking them. Fortunately that didn't last too long, and by the end of the week those side effects eased off.

Unfortunately, when they eased off, the headache was back, but much lower in intensity. It was there a few days during the first week of my vacation, too, but by the end of the week was gone.

So, this vacation I mainly just wanted to laze about, relax, sleep when I was tired, stay awake when I wasn't, read a lot, eat a little, and eat for me instead of eating because Leena felt I should eat. I did that…

Sure, Leena makes a small face and is obviously disappointed every time she asks "are you hungry?" and I say "no". But I actually feel a lot better for not eating when I'm really not hungry.

I've read a 1200 page novel, and I've downloaded and watched a lot of movies. Granted, I deleted a lot, too, because the Torrent downloads turned out to be unwatchable quality or not in English. But it's easy to search for a torrent, leave the computer downloading overnight and then have one or two new movies to watch the next night.

I realized I fell way behind on the usual web comics I read, but I'm catching up this evening.

I did my 2006-2008 tax forms and mailed them off. I moved the Learning Rails book on top of the Real World Haskell book, so I'm one step closer to trying to learn Ruby on Rails programming…

We got an air conditioner installed in the room where I sleep so hopefully I can be more comfortable at night. We got a new one for Leena's room, but the first unit was defective so we still need the installers to come back and install the replacement unit.

We've been to Leena's family's house for lunch a couple of times. Her mother took us to the Royal Connaught Boat Club for lunch last Monday.

And yesterday we went to follow up with the neurophysician. And waiting at Jehangir Hospital in the OPD waiting room was the first headache I had in almost a week… I guess it was the noise, the crowds, the chaos, the fluorescent lights and the tension of waiting and waiting and waiting and worried that patients more aggressive will jump their turn in line to see the doctor.

But I think that may have answered the question Leena asked me earlier in the day, whether the lack of headaches was because of the medication or the vacation. I'm leaning towards the vacation and the less stressful days. But the real test will be next week when I return to work.

So, all in all, it's been a relaxing couple of weeks. I've always heard other people say they have to work, or can't imagine life without working, but me? I need an income, but I feel no great compulsion to have to work. If the money could come in (and we're not talking about being rich, just enough to be comfortable) and I didn't have to work, I'd be happy not working...

Friday, February 26, 2010

Green tea brewing should be like lingerie...

...Brief.

About 30 seconds or so seems ideal for green tea.

I've been drinking green tea heavily for four or five years now, after my mother recommended it as a healthy drink. I found green teas work much better unsweetened than black tea, or any other caffeinated drink. During that time I've tried quite a number of brands and flavors, most of which I quite like.

When I first started I brewed it till the tea was nice and dark, so it looked thick, since I've always liked my hot chocolate rich and thick, and the little coffee I drink is loaded with sugar and milk. But then the green tea tasted bad, and I slugged it down because it was supposed to be healthy.

Eventually, I came to realize that less brewing time was better. Most packages say 2-3 minutes, but in my experience that's way, way too long. Less than a minute and an unflavored green tea will have a pleasant, grassy flavor.

The worst is the one I drink the most of, Golden Tips pure Darjeeling, which is the only one here that comes in bargain boxes of 100 teabags. I begin most work days with two cups of this one, and then maybe a couple more during the day. However, I rarely drink it at home...

Brewing for more than a minute or two and it's bitter, sometimes even giving me a nauseas stomach ache. In fact, all of the women I've known who've tried it have gotten really sick from it. Leena tried it when I was in the U.K. and thought for sure she was going to die after drinking it.

Ah, but brew it for about 30 seconds, the time it takes me to walk from the office hot water dispenser back to my desk, and it's just right.

The one unflavored green tea with the absolute richest flavor of all is Dilmah's Ceylon green tea. It's a little darker than Golden Tips, but has a much stronger grass-like taste. It's delicious. It easily stands alone without flavor.

My current favorite flavored tea is Dilmah's Moroccan Mint green tea. A freshly brewed cup of that has a delicate mint taste and is easy to drink without sweetening. It takes a little longer to brew to get the mint strong, so it's a balancing act between stronger mint with bitter green tea or lighter green tea with weaker mint.


Until a few weeks ago, my previous favorite flavored green tea was Twinings Green Tea and Orange. It's still nice, but since the massive, persistent headache started a few weeks it's been giving me bad acid reflux for some reason. It's orange flavor is easily overpowered by the tea if it brews too long. The worst is sometimes the orange bits get oily and the sides of bag stick together, then tear while making it, so the bits of tea leak out and really stay in the hot water way too long...

The Twinings Apple flavor is good, but the apple is even more subtle than the orange and must be brewed very short or it's lost altogether.

One other I drink periodically, is Dilmah's Cinnamon flavored green tea. It's good, too, but is best loaded with honey. That's why I've cut back, I'm trying to reduce the sweets and sugar, and this tea simply needs honey to really enhance it. Then it's like a a baked good with lots of cinnamon, not like a cinnamon hot candy.

The last green tea worth mentioning is Ten-Ren, a green tea sold by Costco in the U.S. My mother used to recommend that one and once a friend brought a box of 100 of them for me here in India, but 99 of them were gone years ago. I found one late last year in a box of other teas, that must've been left over from my days at First Insight when I packed my personal things at the end of my career there. Ten-Ren is fantastic tasting, but too difficult to get here... And it survives longer brewing times, since back then I didn't know about doing it quickly.

The main problem with the short brewing times is the feeling that after spending the money to get teabags, I only use them for 30 seconds. It feels like I'm not getting my money's worth, despite being fully aware that the end result is best short.

In this way, it's not unlike fancy lingerie, expensive for very little material...

Both are effective by being brief, and both lead to a delicious *sluurrrrp*!

Tuesday, February 23, 2010

Exercise Plan

So, the first two days of my new exercise plan have worked out pretty well... While the doctor didn't pinpoint my being fat and lazy (he has before, but of course, used more professional, medical terminology, but hey, let's be honest, I'm fat and lazy) for the multi-week headache that just won't quit, and my blood pressure didn't stay up there at 145/100 for more than a day or so, I decided I'd better try to get into a little better shape.

Most workdays I can't sleep very late because I begin waking up by midnight panicking about being late and usually just give up around 3am anyway, since I'm not at all relaxed.

With that in mind, the last two mornings I've gotten up around then, then browsed Facebook and email for a few minutes, drank my morning nariyal pani (coconut water), put on my dirty clothes from the day before and gone out about 4am.

At 4am Kalyani Nagar is at its most pleasant for a stroll around the block. The sun's not yet up so the temperature merely hovers around 1,000 degrees, instead of the usually daytime million degrees. This way there's still a few small patches of my clothing that aren't soaked through with sweat.

Best of all, there's very little traffic. At that hour I might only pass a couple of dozen cars vehicles going one direction or another on the street. All the sidewalk vendors have packed up for the night and not yet started for the morning so on East Avenue I can actually walk on the sidewalk instead of in the middle of traffic, which helps me feel a little safer. Even where there are no sidewalks the traffic is much lighter, the vehicles fewer and farther in between and it's easier for me to hear them individually so none surprise me by coming out of "nowhere".

The dogs are a little frightening, however. Mostly they're paying more attention to one another than to me, but some of them follow me or head my direction a little before getting distracted by another one. Still, I'm a bit nervous about them.

It takes me about 35-40 minutes to walk, not fast, not slow, down Road 10, then a full loop around the center of Kalyani Nagar, East Avenue, Central Avenue, North Avenue and back up Road 10.

Then when I get back I jump in the shower, cool off, eat breakfast and take a nap before it's time to go to work.

Hopefully once I get into the routine more, and get further into cutting out junk food and greasy food some of this gut will go and I'll get back to being less unhealthy. This actually worked about five years ago when my doctor recommended it.

Then again... Leena's now got a gastrointestinal infection (from an out-of-date hamburger she left in the fridge too long before eating). But this happens consistently whenever I do a little bit of exercise and get in shape. I finally get so I'm not really, really out of shape, losing my breath just bending down to tie my shoes, then she picks up a 3-4 month sinus infection, a stomach infection, things like that.

But then again, if I'm still not gonna get laid, what's the point?

Saturday, February 20, 2010

An Apple a Day...

Well, we didn't end up going to the doctor on Friday night to follow up from Thursday's visit. I got ready to go, had a quick apple, brushed my teeth, got all dressed up (e.g. jeans, polo shirt, socks and Birkenstocks instead of sweat pants, polo shirt and flip flops), but then Leena called to confirm and the doctor said he was involved in something urgent and would not be free for his regular office hours. We fixed up for 12:30pm this afternoon.

This morning I got up, but the power went out between greeting Leena "good morning" and going to get my breakfast coconut out of the fridge. I was afraid we'd end up being late because the power was out so long I didn't know if I'd get a shower or not.

In any case, I skipped the apple, and we got ready to go and Leena called the doctor who said "come on over" and we did.

There you have it, an apple a day keeps the doctor away!

Anyway, he checked my blood pressure and pronounced it "normal". He checked it four times and said it was normal every time, just a day and a half after it was so high he was concerned. We discussed my previous experience with American doctors always making sure my sleeves are rolled up compared with Indian doctors always measuring blood pressure over the top of my sleeves. He said it shouldn't make any difference at all in the readings.

Based on my blood pressure being normal today, when my headache was barely there, nowhere near as bad as it was on Thursday, just hardly noticeable, that my headaches probably aren't caused by high blood pressure, though they make my blood pressure go up, as evidenced. He mentioned "cluster headaches" but now that I'm looking at the Wikipedia article, that doesn't fit at all. He also mentioned migraines, which I've had for years, and what I've had the last three weeks are very, very different (and as I found out on Wednesday, not mutually exclusive, either, but I could tell the difference in the two simultaneous headaches).

He also noticed my squinting. I've done that since I was a little kid, with my father the first to notice it years ago. That's the lazy eye thing and I squint in my left eye to avoid seeing doubles. I told the doctor that and how I used to do exercises then wore glasses for a year in high school, at which time my frequent migraines started. But it must've been worse than normal if he noticed it today but never noticed it before.

He recommended that we go see a well-known neurophsyiologist (or neurophysician or whatever the proper title was) who has more of a specialty in headaches and nervous system issues. He said that while Leena's family has been pushing us to go right away, no delays, we should take time, prepare a history of my health so we go with all the facts that'll help him diagnose the problem better, not just show up with try to remember all the issues off hand and out of order.

Leena's family may not agree with that, "see him today" but it doesn't matter, that doctor is out of town for the weekend anyway.

As we were saying our good byes to the doctor the alert from his building's elevator made its high pitched screeching, that even through two closed doors made me cringe in pain, and he noticed that and said "if the noise does that, you must see the neurophysician".

So, we'll go later in the week.

Friday, February 19, 2010

Long Lasting Headache

So, I've had this headache for three weeks now, with quite a few ups and downs. It's survived through three trips to two different doctors and two courses of medication. What the fuck?

I think it started around January 30th, when I got a ride home from my in-laws' house on my nephew's scooter. No helmet, and going over the Yerewada Bridge some minivan behind us just kept honking incessantly. It hurt my ears like hell, and in fact, they haven't stopped ringing loudly since then.

That coming Monday my pair programming "pair" Vishwas came to work late. He said he was violently ill on the way to work and had to pull over, too sick to even type a message on his phone. We worked for about half an hour, during which I noticed he wasn't able to work well, making lots and lots of mistakes he doesn't normally. When I suggested he go home he said he was too sick, too dizzy to safely drive home, so I sent him to the office infirmary where he slept and drank Electrol for a few hours. Later he was obviously not well, but we worked together for another hour or two before he went home early.

The next couple of days he was out sick with a fever and unable to come to work. But that was when my own headache was getting its start, and I was feeling bad. Every morning I woke up as usually, head hurting, then I'd finish breakfast and nap again, like usual, only to wake up with a worse headache, and struggle to work. No amount of Crocin was doing anything for it.

Oddly, Thursday that week, we had a couple of meetings at work and by the end of the video conference, something that usually gives me a headache, my head actually felt a lot better, though not completely gone. Very weird.

Before the meeting I'd messaged Leena that I was feeling horribly, totally rotten and we might see the doctor after work. Leena called the doctor, and talked me into staying home on Friday, as the headache was going on too long.

Friday morning, February 15th, we went to the doctor who said there was a mild throat infection, but my blood pressure was normal. He prescribed five days of antibiotics and we went home. The headache, while not disappearing completely eased off until Sunday afternoon, when it was back with a vengeance.

Back to work Monday, with some relief in sight as the upcoming Friday was a national holiday and a day off work. Since the doctor didn't prescribe Crocin or anything I thought it's a good time to get off it and didn't take any.

Then on Wednesday afternoon I was clearly making a lot more mistakes at work, dumb things, really dumb things I wouldn't normally do.

Thursday, Feburary 11th, I work up feeling horrible. I ate breakfast, felt like it was uncomfortable and took my nap. When I woke up from that and started getting dressed for work, I got one sock on, then felt sick and went to the bathroom. Nothing. Put the sock on again, then got up and heaved up my breakfast. I felt a little better so I started getting dressed again, got that one sock on, but sat on the chair feeling like "can I really work like this?" and eventually answered "no" and got undressed and went back to bed.

Leena called the doctor, but he was out of town for a few days. I was quite feverish, and the pain and discomfort from the fever only made the headache 100 times worse. It was so bad that I was practically panicking about not surviving it, it was something fatal, and all that. After sleeping on and off, unable to keep down even gentle foods, I took a long shower, till i felt sleepy again. After that I was relaxed and slept well for a few hours.

That evening we went to the nearby doctor, one my in-laws thing is the best doctor in the world, but whom I dislike (at least, as a doctor). I was feeling more calm and not as bad as in the morning. He asked what was bothering me, and as I started listing the various things, headache, fever, ears ringing and narrowed it down to "what's bothering you the most?". He checked my blood pressure, said it was normal, and examined my nose and throat and eyes and what-not.


Then he said he could give me a shot, and "don't ask a second question, just take the shot and feel better in an hour, or go home without it". I accepted, feeling desperate. Then he gave his usual, four different pills to be taken twice a day for two days, no labels, no descriptions and no answer about what they were. We went home and within an hour or so the fever was mostly gone, but the headache remained.

Throughout the long weekend the headache slowly reduced, but never quite went away completely, bringing us to this week...

Monday, when I woke up the headache was nasty again. I struggled through the work week, not feeling well, feeling kind of uneasy, kind of unmotivated to work, and doing a less than stellar job of my work, until yesterday.

Yesterday, February 18th, I felt sick. I spent most of the morning sitting at my desk, having trouble really focusing on my screen, rubbing my temples from the pain, and waiting for the day and the week to finish. Early in the afternoon I helped my teammates try and solve a problem, but sitting over there, talking and working, I began to feel nauseas, and my throat burned with acid reflux and eventually I said "well, why don't you guys go for lunch and I'm going home sick."

Our new scrum master offered to drive me home but I said I'd get a rickshaw, however, he accompanied me downstairs to make sure I got one. It was the first time in many, many months I took an elevator down as I usually take the stairs in the afternoon, and felt pretty dizzy in it, even more sick. The rickshaw had some mechanical problem and I was afraid we'd have to get out and push, it kept slipping gears or out of gear and slowing, then the driver would do something and it would speed forward. But we got there…

It was the doctor's lunch break, so I just slept and slept till later. Leena and I left around 5pm and hit the doctor's office.


He did the usual checks, then the blood pressure. Which he repeated, then still puzzled he put away the electronic sphygmomanometer and took out a manual one, which he used twice and said it was odd that after a couple of weeks of it being normal now it was dangerously high, 140/100.

He didn't know what to say about that. He said maybe it was so high because I was tense about being sick, agitated from going home early from work and what-not. He didn't want to make any diagnosis based on that, because it had been normal just two weeks earlier. He prescribed an anti-anxiety medicine so that I'd relax and sleep all night, then be relaxed today so we could go back in the evening for another check and he'll try to make a better diagnosis from that.

For the headache he said if my blood pressure is as high as it read, it could be the cause, in which we'll need to work out a plan for bringing it down. If my blood pressure is back to normal tonight and my head still hurts, then he'll probably recommend I go to a neurophysician to see if there's something wrong with my brain or nervous system. Otherwise, we'll see.

Me? I think it's going to be the first one. I think the difference in blood pressure readings is the previous two times I wore long sleeved shirts and neither doctor made me roll up my sleep, but last night I wore a short sleeved shirt and he did the reading directly against my skin. I don't recall any time I ever had my blood pressure checked in the U.S. that the doctor didn't ask me to roll up my sleeves or remove my shirt, but no doctor I've been to in India has ever asked for that. I suspect it makes a difference (in fact, the Wikipedia article states, "The BP cuff should always be against bare skin, as readings taken over a shirt sleeve are less accurate").

So, my guess is what's going to come up is that my blood pressure is high from being overweight and not exercising. And I'm going to have to watch my diet a little more and exercise to bring it down. Of course, I need Leena to hear the first part from the doctor. I've known I've been overweight for a while, but even though I keep asking her not to bring such greasy or sweet foods home she does anyway, and then if I don't gobble them up, it's the guilt trip, "but I got it for you…".

Some will probably require lifestyle changes. I know our location causes some trouble for me, increases my stress and tension from all the noise. I have little doubt part of my stress yesterday was because there was no running water in the apartment all day as well. And of course, offices in India use far, far worse lighting than most offices in the U.S. that I always find extremely uncomfortable.

And exercise... The doctor previously recommended walking around the block for half an hour a day. And a few years ago it worked, but traffic has gotten a lot worse and nowadays I'm scared to walk here, it's just too nerve wracking. Plus with the ringing ears, the honking from cars is far, far more painful than it used to be.

Probably my expected move to the U.S. later in the year will have a good effect, but I need to get by until then.

We'll see in a few hours. In the meantime, I think I'll go lie down, my head hurts.

Monday, February 8, 2010

Healthy Bread Allergy

Between Steve's post about fast, healthy breads and this rip roaring headache I've had continuously for over a week with the only let up being a couple of days I didn't eat rice. I'm wondering if I'm allergic to rice, the rice is contaminated, or it's just coincidence. But it got me thinking about how I became allergic to whole wheat…

I guess it was around 1995 (or maybe it was 1996, who can remember?) that I became allergic to whole wheat. It was just out of the blue one day.

As a kid I hated whole wheat, I thought it was disgusting and only wanted to eat Wonder Bread. Then in high school my mother made me eat two slices of whole wheat toast with butter for breakfast every morning. Disgusting, gross, usually soggy and cold by the time she'd yelled enough to get me out of bed and to the breakfast.

Finally once I hit college I no longer had to bother with the horrible stuff… Not till i was on my own after that and started eating a peanut butter and jelly sandwich on thick, whole wheat toast for breakfast every day (made my own way, fresh out of the toaster, gooey peanut butter and no sogginess!).

I did that for a few years until I got sick. It just happened one week, every day I felt sick, kind of a fever, with my fingers and toes aching, then my arms shaking and a headache with a little nausea. Then on the weekend after not eating my workday breakfast I felt better.

The next week, by Tuesday it occurred to me that I woke up every morning feeling fine, it was only after breakfast that I started to feel sick, so I figured it was something I was eating.

I'd heard of peanut allergies, so that seemed like a logical place to begin finding out what was causing it, by skipping the peanut butter. But no go. The next morning I cut out the raw eggs in my chocolate milk, but still got sick.

Then I skipped the peanut butter and jelly sandwich altogether and felt fine, so I decided it must be the bread.

For the next few years I ate my morning PB & J's with mainly oat bread, and the occasional potato bread and didn't have any trouble (except the time I tried even healthier oat bread with oat bran and holy shit did that knock me for a loop, even worse than regular whole wheat).

Every now and then I eat some whole wheat, never on purpose and it usually doesn't take long for me to feel it. Just a few bites and my tongue gets an uncomfortable tingling, followed by my fingers, toes and then my arms and a headache and all that.

On the other hand, after all the years of my aunt trying to get my mother to get me to eat whole wheat and my resisting, now I have an excuse not to eat it.

For tomorrow morning I'll try breakfast without rice as I usually have here in India (e.g. dal chaval (well, okay, I quite this a couple of years ago, I simply can't stand it anymore), chicken curry in rice, dhansak with rice, mutton koftas in rice, etc.). I'll have mutton frankies in maida parathas...