Interview Questions Headline Animator

Tuesday, February 26, 2008

Netgear wireless router at home - Issues and Solutions.

Hi,

I have a Sify Broadband connection at home. And I have a Net Gear wireless router. So now we have 4 laptops at home and all of them are connected. Plus I have a friend staying 2 floor above me(I stay on 6th and he stays on 8th) sometimes even he gets connected quite easily.

Problems:

1. Sify has a mac address registered. So when you take a connection for your laptop, Sify registers your laptops Mac address. A wireless router has a different Mac address so doesn’t work.

2. Logging in is a problem so sometimes you have to log in directly with your laptop and then connect your laptop to your router and the router to the external connection.

3. Sify needs a static IP. If you want all your laptops to be connected, you will have to go to dynamic IP once you are connected.

Resolutions

1. Call your Sify personal and ask him to set up your connection for a new Mac address of the router.

2. Go direct and log in. that means you will have to go static IP first, log in and then connect the router and go dynamic IP.

3. Your laptop for which the connection was taken will be the server and which will provide internet to all other machines. This also means you will have to stay connected with the wire while others enjoy a wireless connectivity. One of the machines have to be physically connected to the router as long as the internet is needed.

Switching from dynamic IP to Static IP and back is cumbersome. So I have written 2 batch files for the same.

“Static.bat” changes to static IP. Change the static IP in the file to the IP you require.

----Static.bat-----------------------------------------------------------------------------------

netsh interface ip set address name="Local Area Connection" static 10.14.65.11 255.255.255.0 10.14.65.1 1

netsh interface ip set dns "Local Area Connection" static 202.144.105.4 primary

exit

-------------------------------------------------------------------------------------------------

“Dynamic.bat” changes the machine to dynamic IP. No change is required in this file.

----Static.bat-----------------------------------------------------------------------------------

netsh interface ip set address "Local Area

Connection" dhcp
netsh interface ip set dns "Local Area

Connection" dhcp
exit

-------------------------------------------------------------------------------------------------

Hope this helps.

Friday, February 22, 2008

You are a Juggler...

You are a juggler... Say you have unlimited supply of balls to juggle with... But you decide how many balls to juggle with... But you can't pick up balls while you are juggling... So say there is a man standing near you who at random throws balls at you which you may or may not decide to catch, while you are juggling with whatever you already have.

Let's start with one ball. How long would one ball juggling keep you interested. So you catch another one thrown at you. Let's say you are pragmatic enough to not catch a third ball until you are proficient with the 2 balls you are already juggling. Now let's say the man decides when to throw a ball at you. He is the decision maker and not you. So he might not throw a ball at you for a long time even after you have become proficient with the no. of balls you are already juggling with.

Or he may throw a ball of a different size or color that you may or may not like. So every ball thrown at you is an opportunity. You may like it and you may not. But you hardly have a split second to decide.

Of course you may decide to throw away one of the balls you are juggling with if you don't like it too much. And of course some of the balls are high priority that you must juggle with eternally. And of course you can't catch too many balls at a time or you drop the high priority balls too.

There is a trade off here. You get exceedingly proficient with the existing no. of balls as time passes. There is always a learning curve if you take up a new ball so the juggling proficiency goes down by a magnitude or two (depending on the size and color of the ball) every time you take up a new ball.

Let's call these balls your responsibilities. Let's call the man that throws balls at you fate. Let's call juggling "LIFE". The high priority balls are family and profession. The lower priority balls are things that you are passionate about. And the rest of the balls are what keep the zing in your life.

Like marriage. Every time the marriage ball is thrown at you, you decide to catch or not to catch in a split second based on your existing proficiency with the balls you are already juggling with, and your priorities. This ball is crucial because Mr. Fate may not throw another one at you for a long long time. Boy ain't life complicated...?

I have probably caught too many balls at this time. I am having some serious troubles juggling with family, profession, investments, health, guitar, Boomer (My new pet, a 40 days old cream Labrador), music, gadgets. And I am looking at picking up a couple of more balls to juggle with like marriage, learning sanskrit as a language, Tango and Salsa Lessons.

Am I Superman or what...!!!

Thursday, February 21, 2008

Why can't the developer not think like a user...?

Usability... Microsoft is known for it. She (Microsoft) has given birth to some of the most user friendly software known to man (and woman).

So the question is why oh why do we need a usability engineer. Why can't an Engineer, not think about usability. Sometimes we ignore simple issues like a two digit no. column on a grid is too darn wide and a description column which needs to be wide is too narrow for the description to be visible completely. Why oh why didn't we think about that before we were told by the user?

Because we were too busy churning out the high priority features so that they can be delivered on time. Too busy writing tests to ascertain the credibility of the application. Delivering non functional requirements like reliability, scalability, maintainability, security, and so on and so forth... Too busy designing, coding, testing refactoring... Delivering the bare necessities...

So the width of the column is the smallest thing in usability... there should be stuff thought of that is beyond imagination. Like how to make an application support operation without using the mouse at all. Completely with the keyboard. Or how to provide pointers so the user can intuitively know what to do next. Minimum mouse clicks... and perhaps hundred other pointers only a usability engineer can give you.

So how important is usability? What is the percentage of time that should be devoted to Usability when making the estimates? Inviting responses... Please comment...

Code Performance:

I read coding horror. It is a good blog. I just read about the Graphics Programing Black Book. Yes if you click the link you will see it is freely available at byte.com. Jeff says the book is pretty darn good even if you don't ever do graphics programming, never write code in C and don't know nothin' about Assembly Language. So what the hell... I took a peek...

Excellent example of how humor can make anything more interesting. Specially a book on technology. Without humor and spice, any book would be dry. How beautifully he makes the book worth reading. From Technical standpoint and from a literary perspective too...!

I haven't read the whole book yet, but some beautiful extracts from the few initial chapters.

Chapter 1:

In the early 1970s, as the first hand-held calculatorsw ere hitting the market, I knew a fellow named Irwin. He was a good student, and was planning to be an engineer. Being an engineer back then meant knowing how to use a slide rule, and Irwin could jockey a slipstick with the best of them. In fact, he was so good that he challenged a fellow with a calculator to a duel-and won, becoming a local legend in the process.

When you get right down to it, though, Irwin was spitting into the wind. In a few short years his hard-earned slipstick skills would be worthless, and the entire discipline would be essentially wiped from the face of the earth. What’s more, anyone with half a brain could see that changeover coming, Irwin had basically wasted the considerable effort and time he had spent optimizing his soon-to-be-obsolete skills.

What does all this have to do with programming? Plenty. When you spend time optimizing poorly designed assembly code, or when you count on an optimizing compiler to make your code fast, you’re wasting the optimization, much as Irwin did.

Chapter 3:

When you are pushing the envelope in writing Optimized PC Code, you are likely to become more than a little compulsive about finding approaches that let you wring more speed from your computer. In the process you are bound to make mistakes, which is fine - as long as you watch for those mistakes and learn from them.

A case in point. A few years back, I came across an article about 8088 assembly language called "Optimizing for speed". Now "Optimize" is not a word to be used lightly. Webster's ninth new collegiate dictionary defines "optimize" as "To make as perfect, effective, or functional as possible", which certainly leaves little room for error. The author had, however, chosen a small, well defined 8088 assembly language routine to refine, consisting of about 30 instructions that did nothing more than expand 8 bits to 16 bits by duplicating each bit.

The author of "Optimizing" had clearly fine tuned the code with care, examining alternating instructions sequences and adding up cycles until he arrived at an implementation he calculated to be nearly 50 percent faster than the original routine. In short, he had used all the information at his disposal to improve his code, and had, as a result, saved cycles by the bushel. There was in fact only one slight problem with the optimized version of the routine.

It ran slower than the original version...!!!

Chapter 10:

My grandfather does the New York Times crossword puzzle every Sunday. In Ink. With nary a blemish.

The relevance of which will become apparent in a trice.

What my grandfather is, is a pattern matcher, par excellence. You are a pattern matcher too, so am I. We can't help it; it comes with the territory. Try focusing on text and not reading. Can't do it. Can you hear the voice of someone you know and not recognize it? I can't. And how in the nine billion names of God is it that we are instantly able to recognize one face out of the thousands we have seen in our life times - even years later, from a different angle, and in different light. Although we take them for granted, our pattern making capabilities are a miracle on the order of loaves and fishes.

By "Pattern Matching" I mean more than just recognition, though. I mean that we are generally able to take complex and often seemingly woefully inadequately data, instantaneously match it with an incredibly flexible way, to our past experience, extrapolate, and reach amazing conclusions, something that computers can scarcely do at all. Crossword puzzles are an excellent example; given a couple of letters and a cryptic clue, we are somehow able to come up with one out of several hundred thousand words that we know. Try writing a program to do that! What's more, we don't process data, in a serial brute force way that the computers do. Solutions tend to be virtually instantaneous or not at all. None of thos "N log N" or "n2" execution times for us.

Tuesday, February 19, 2008

Mobile Phone Design Challenges...

So what are the challenges

Facts.

  1. Typing on a soft keyboard is not ergonomic at all. Hard keyboard is required "qwerty" or otherwise
  2. The "qwerty" (if there) keyboard should have buttons big and wide enough to make typing ergonomic.
  3. Screen has to be wide so browsing, emails and other icons can be fitted into the screen comfortably

Challenges:

  1. How do we fit in the keyboard and a wide screen into a phone and keep it compact.
  2. How do we make it look sleek so it sells. Nobody would want to buy a clunky phone.

Attempts:

  1. Nokia Communicator: Too clunky.
  2. Sony Ericsson P800: No "qwerty" keyboard, but pretty promising
    close window to return
  3. Sony Ericsson P910i: "qwerty" keyboard too small and un-ergonomic to be useful.
  4. Sony Ericsson P990i: Very Very Promising. Reduced screen size, but "qwerty" keyboard very ergonomic, though not any bigger.
  5. HTC Touch: No "qwerty" keyboard, but with the touch flow and wide screen, pretty good
  6. HTC Touch Dual: Getting closer. Slider "qwerty" keyboard and touch flow makes it ergonomic, compact and sleek.

And the best ones until now:

  1. HTC Tytn II: Full Slider "qwerty" keyboard, big enough to be ergonomic to type in long emails, sleek and compact enough to sell and Windows Mobile OS makes it Hot cakes.
  2. Sony Ericsson Experia X1: The "arc slider phone" the "arc design" means the side screen slider. Not only does it make this phone the most ergonomic and fully featured phone, it has 2 main edges. It is Super compact and sleek (The geek value, the gizmo touch, et al) and Windows Mobile. Yes Sony Ericsson comes out with a phone with Windows Mobile 6.1 for the first time. Take a peek http://www.sonyericsson.com/x1/?lc=en&cc=IN and http://www.expansys.com/d.aspx?i=163411

How to disable Aero on your Vista Machine

Ok so your hardware sucks and you want performance out of your machine. Yeah I know life is a bitch, gotta deal with it. So you want to disable Aero on your machine so you can get more out of your machine. Go to Start -> Control Panel

Click on "Appearance and Personalization"

image

Click on "Personalization"

image

Click on Windows Color and Appearance

image

Click on "Open Classic appearance properties for more color options"

image

Choose "Windows Vista Basic"

image

Click Apply, Ok and you are done...!!!

Friday, February 08, 2008

Now That's what I call a phone... A Phone...? Err... Ahem...!

Now This is what I call a phone... A Phone...?? err... Ahem...!!!

 

htc_shift_2.jpgIt's been almost a year since we first saw the HTC Shift, the fold-up Windows Vista and Windows Mobile-capable UMPC with a pretty decently-sized keyboard. The touchscreen device is finally getting a release date of sorts from the European Expansys retailer on February 19 at a launch price of 1185 Euros ($1720). That's right, it's about as much as an expensive laptop, which means the potential target of the device might only be getting it for its built-in 3G support. It's also four times the price of an Asus Eee, in case you were counting. [Reg Hardware via Slashgear]


 

View article...