|
Written by Daniel Leiderman-Gueller
|
|
Tuesday, 19 May 2009 13:34 |
|
Lately I was asked to help in the initial design of a new product, from ground up. The first thing we had to define was the playground, what are we going to do. My colleague didn't have experience in design so I had to help him in the definition using a method that has worked quite well for me.
The method starts by defining the canvas or playground. The questions are:
1. What: what is the system supposed to so?
2. How: what are the processes to provide the functionality?
3. How much: basic estimation of capacities / throughput.
4. When: when do you want the solution?

The questions are related, interleaved and dependant. The available time will limit the functionality. The capacity will limit the functionality and limit the design options.
Due to the recursive nature of design, the same set of questions can be asked for a subsystem, module or component. This way, a full system can be decomposed, designed, and recomposed providing the full requirements.
The answer to these questions provide a rough definition of the playground, where the design provide the details and the flows for implementing the solution of the requirements
Even if the answers can't be fully answered, even preliminary answers can help the communication with the relevant stakeholders. So even if you are completely in the dark, just by having a meeting for discussing the 4 basic questions: What, How, How much and When. |
|
Last Updated on Friday, 29 May 2009 14:33 |
|
|
Written by Daniel Leiderman-Gueller
|
|
Sunday, 10 May 2009 08:56 |
|
There is a lot of buzz on the windows 7 virtual XP embedding as it seems an unusual twist for compatibility problems. The opinions are varied, and here is my 50 cent.
There are 3 types of opinions:
- The positive ones, like in coding horror, where they see virtualization as a holy grail for solving compatibility problems.
- The negative ones, like inforworld that point out the inherent problems of virtual machines
- The balanced ones, like the Register that try to show both sides of the equation
In my opinion, the merit is not in the virtual solution as a virtual machine but in the way the actual problem is brushed away. Windows vista, and by extension windows 7, suffer from several problems: speed on low end hardware, large memory requirements, and compatibility problems with legacy software. This is already demonstrated in the reviews of windows 7 performance like PC World.
There are several reasons people go back to windows XP:
- Performance: XP is faster and leaner and the difference in speed is evident in games.
- Memory footprint: vista takes huge resources in disk and memory.
- Different conventions: vista changed how things are done, making the conversion not so straightforward.

All of these make the reasoning for adding XP to windows 7 a very peculiar choice as they don't really address the problems of vista / windows 7. The choice is actually a demonstration of technology, to actually push the virtualization in a same fashion done with the explorer, but this time with a "reason". From users perspective the virtualization does not give a speed or user friendliness advantage, but it does give Microsoft an answer to those requiring downgrade rights.
As a customer and engineer, the stunt from Microsoft is shady at best, because it does not really address the problem, it makes a heavy system heavier and increases the overall complexity. The twist here will be the impact on the market, being even les favorable with windows 7 than with vista.
Addenum:
After some digging in the market share of virtualization solutions, the reasoning became obvious. Its a marketing scheme to make people used to Microsoft virtualization solutions, and perhaps take a bite of VMware market share. via introducing a VM within windows 7, Microsoft can help IT promote Microsoft solutions and make it more visible. It does not actually serve the user due to the many limitations such a VM inherently has. |
|
Last Updated on Friday, 29 May 2009 14:28 |
|
Written by Daniel Leiderman-Gueller
|
|
Saturday, 02 May 2009 11:43 |
|
An interview riddle asks the following: There are two rooms, one with 3 switches and second with 3 light bulbs. How can be the connection between the switches and the lights be found when entering only once in the room with the light bulbs.
The solution is simple: 1. turn on 2 switches 2. after 5 minutes turn of one switch 3. go to the other room: 4. the on bulb is connected to the on switch 5. the warm bulb is connected to the switch turned on and off 6. the cold bulb is connected to the off switch
What is the basic idea behind this riddle? The idea is to look beyond the basic relation of actions and reactions, searching for additional information that can be exploited for increased value. There are many actual examples of such tactics: • Signal intelligence for recovering conversations from power lines • Sideways modulation in RF channels
In many interviews this riddle is asked for trying to see if one can think of secondary effects for solutions. Unfortunately, the riddle itself is no guarantee of such kind of thought, the real understanding of a technology or solution comes when you can teach it and understand the secondary effects, and not in arbitrary questions.
|
|
Last Updated on Friday, 29 May 2009 14:24 |
|
Written by Daniel Leiderman-Gueller
|
|
Sunday, 05 April 2009 20:34 |
|
Admit your errors
Some years ago I had to dimension and purchase storage for a new project. The project was groundbreaking for our company in the storage area so little was known on the requirements and the design. When working under schedule pressure errors were done, but this was a lesson as well.
With external advisors, a rough estimate of the requirements was gathered and a tender process was put in place. The tender asked for a definite disk size and performance. During the discussions the requirements were reduced due to cost considerations, so the final system was on the low estimate of the performance requirements. When the system was finally deployed, many problems surfaced: lack of disk performance, errors in the application, bugs in the underlying database and many more. In time, with a lot of effort, the project was deployed successfully.

Sometimes the best effort isn’t good enough and the end result does not measure up to the expectations. Then its time to learn and cope with the realizations: • Knowing you made a mistake is because the system is used. Otherwise there would be no problems. ? • What can be improved for next time? The next time use the knowledge gathered. For DB scenarios, the total IOPS is important, but the distribution is crucial. The requirements of the index and the content are completely different. • What information was lacking? The original information was the best at hand but now the relevant information should be specified. • It will happen again, in different scenarios. The only way of not making mistakes is by not making at all.
By knowing you will make mistakes, the road is paved to realizing that you have to admit your errors to yourself. By keeping on the learning curve and not repeating the errors, one can increase the possibility of success. So now in my company we have a more established guide for dimensioning storage systems.
|
|
Last Updated on Friday, 29 May 2009 14:08 |
|
|
|
|
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>
|
|
Page 6 of 19 |