Damons Laboratory
    The most exciting place on the internet!


A Science & Engineering OnLine Laboratory Notebook   
This is the laboratory notebook of Damon Bruccoleri.  Here you will find engrossing, thoughtful and fun commentary/opinion.  Leave a comment and let others know what you think about any post here, or view my photo gallery.

New is my list of developed products accessible from the top tab.

"...one of the strongest motives that lead men to art and science is escape from everyday life with its painful crudity and hopeless dreariness, from the fetters of one's own ever-shifting desires. A finely tempered nature longs to escape from the personal life into the world of objective perception and thought." - Albert Einstein


Latest Notebook Entries

 Sunday, May 12, 2013


The Byzantine Generals   
Byzantine_General_sm.jpg     Where did the term 'Byzantine' in Byzantine Failure originate?  Why not something else?"  The term comes from the Byzantine Generals Problem.  This is a generalization of the Two Army Problem.  See my previous post.  The Byzantine Generals are a metaphor for nodes of a distributed system.
     The Byzantine Generals are introduced in a research paper by Leslie Lamport, Robert Shostak, and  Marshall Pease (1982), The Byzantine Generals Problems. In this paper the authors imagine an encampment of a large enemy army.  Surrounding this encampment are the Byzantine Generals.  Each general commands a small brigade of soldiers.  Individually the Generals would lose to the enemy, but united they win.  The objective is for the Byzantine Generals to mount a coordinated attack.  Unfortunately, things are gummed up a bit.  Purportedly the Byzantine army had significant treachery in its high ranks.  A general may be malicious and working for the other side.  This would be considered a "Byzantine Failure" of a node in this distributed system. The objective then becomes for the system as a whole to act in concert in the presence of these Byzantine Failures.
     A general solution to this problem can be quite difficult.  Consider for example a malicious general tells half of the other generals to attack, and the other half to retreat. What protocol can healthy nodes use to maintain agreement?  What if there are more than 1 malicious general in the system acting in concert?  Given we have an algorithm that maintains 'interactive consistency' what is the maximum number of malicious generals that the distributed system can tolerate?  Interactive consistency loosely means that all non-malicious generals (healthy nodes) always agree.


damon at 6:28 PM |
(3) Comments | Add a comment | Permalink



 Tuesday, April 30, 2013


What is a Byzantine Failure?   
monopoly.jpgA while back, I came across the term “Byzantine Failure.” Trying to understand the term lead me on an interesting path into Byzantine networks. As an engineer or software designer part of the mission in developing new products is to anticipate the failure of parts of our system. In aerospace systems, this requirement is more formal. The customer will require an FEMA analysis. This is a thorough analysis of those parts of a system that can fail, how they can fail, why they might fail, and what you are going to do about it. One common type of failure we all might be familiar with is the crash. If part of a system were to crash, perhaps the operating computers would always read a 0 from the crashed component. A design might deal with this problem by reading some value that is guaranteed to always be a 1. If a 0 were read then we know the component crashed and something should be done about it; use a default value, alert the pilot, use the auxiliary sensors array, whatever.

A Byzantine Failure is a very high level of failure to design to. For many real systems designing to this high a level may not be practical or make sense from an applications point of view. Many aerospace systems though have a requirement for a very high level of reliability and designing a system to this type of failure can make the FEMA analysis simpler. With a Byzantine Failure anything is possible. In the literature, the term ‘malicious intelligence’ often pops up.

 A component capable of a Byzantine failure may operate normally except in that 1 case where it’s critical it function correctly. In that 1 case it may send just the wrong value to make the system as a whole fail. To make matters worse, if we are considering multiple parts of the system capable of Byzantine failure, we would need to consider the possibility that those multiple parts are working together to cause a system wide failure. We need to consider that they work in concert to do exactly the WRONG thing at the RIGHT time!

This is a very high level of error analysis to design to. However, if you do you will have taken a big step in system reliability.


damon at 3:28 AM |
(2) Comments | Add a comment | Permalink



 Sunday, December 09, 2012


BCAM Search Time   
In my last post I gave a proposal to hardware accelerate the B+ tree.  I want to discuss the search time further.  The depth of the B tree is given by the fanout.  The number of nodes needed to retrieve from secondary storage is given by logdn where d is the fanout and n is the total number of keys to search.  This is true for both the B+ tree and the BCAM accelerated B+ tree.

Once the nodes are  brought into main memory they need to be searched.  Knuth proposed a linear search (O(n) search time) for small nodes and a binary search (O(log2n) search time) for larger nodes as being most efficient.  With the BCAM accelerated approach we search these nodes with either a BCAM (internal nodes) or standard CAM (leaf nodes).  This search time is O(1).  That means the search time is a constant and independant of the size of the node. 

Secondly, I got hold of the original Boeing paper by Bayer and McCreight.  I was curious as to the orgin of the "B" in B-tree.  There does not seem to be any light shed on this mystery.  It could stand for Boeing, Bayer or Balanced.  Or perhaps all three!



damon at 2:12 PM |
(3) Comments | Add a comment | Permalink



 Sunday, September 09, 2012


The Exponential Filter Structure   
[edit 10/2/12, changed to log plots]
In the last lab note we looked at the boxcar filter structure.  That was an example of an FIR filter.  The exponential filter is an IIR filter.  In a simple implementation of this filter we calculate the filter output by taking the current sample, adding it to the previous output then dividing by 2.  Mathematically y=½(x+yz-1). Since the output is a function of the previous output this is an Infinite Impulse Response filter, or IIR filter.

One of the concerns about IIR filters is that an impulse or perturbation on the input will ring forever on the output.  This may be true if we are talking about real math.  In a typical embedded system we work with a fixed point math.  Notice that in our equation the impulse is cut in half each sample time.  So for instance, our samples may be from a 12 bit A/D converter.  After 12 sample times our impulse gets cut in half 12 times and then would disappear.  In this case it will not ring forever.  On the other hand a fixed point math can cause other issues on filters with more interesting pole/zero placement, but we are good here.

For the above function H(z) = Y/X = 1/(2-z-1).= z/(2z-1)  There is a zero at 0 and a single pole at z=1/2.  This is within the unit circle, thus the filter is stable.   To plot the frequency response we set z=ejωT .  Then we normalize by setting T=1.  We can use Wolfram Alpha to plot the equation H(ω) = 1/(2-e-jω).  And I copied the plot here for convenience. 
http://www.wolframalpha.com/input/?i=log+plot+abs%28+1%2F%282-exp%28-2PI*iw%29%29%29+between+0+and+1



Here the horizontal axis is in Hz.  This filter is down to 0.7 at a frequency of 0.14Hz  (remember this equation is normalized to a sampling frequency of 1 Hz).

If this is too much filtering, or too little filtering you can try adjusting the weighting of the two terms in the exponential filter.  For instance, what if you choose the weighting y = ¼ (3x + yz-2)?  Here I tried to use a mod 2 divisor to make the math dead nuts simple to implement on a fixed point processor.  On an FPGA you would not even need to divide or shift, just pick off the right bits!!  All we need is two 'add' operations.  Can you calculate the frequency domain function and plot it? 

If you have any other common filter topologies, leave a comment for future discussion.


damon at 6:50 AM |
(4) Comments | Add a comment | Permalink



 Wednesday, September 05, 2012


Simple Digital Filters   
In embedded systems it is quite common to need a little bit of filtering on analog quantities. Programmers sometimes feel they need the filtering to help smooth any analog conversion noise. Two type of filters commonly used are the Boxcar and the Exponential filter. Both are simple to implement. Its important to understand the impact these filters have on delay and frequency response, and to evaluate their comparative effectivness.

The Boxcar filter is a simple averaging filter. Technically it is an FIR filter. Typically you would obtain your next analog value, add it to the last n-1 values read, then divide by n. It's just a simple average of the last few values read.

A common value for n is 4. The Z transform of a filter with n=4 is H(z) = ¼ (z3+z2+z+1)/(z3) . There are three poles at the origin in the Z domain. Thus this filter is stable. There is one real zero at -1, and two complex conjugate zero's at +i and -i. The (normalized) frequency response is given by H(ejω) = magnitude(¼ + ¼e-jω+ ¼e-j2ω+¼e-j3ω). We can use Wolfram-Alpha to plot this function. Click on this link provided and you will be whisked away to see the low pass filter response as fast as damon4.com can take you. In the following image (copied from Wolfram) we see several cycles of normalized frequency response including aliasing above half the sample rate. The aliasing is the mirror image above 0.5 Hz.
http://www.wolframalpha.com/input/?i=log+plot+abs%281%2F4%2B+1%2F4*exp%28-2PI*iw%29+%2B+1%2F4*exp%28-2PI*2iw%29%2B1%2F4*exp%28-2PI*3iw%29%29+between+0+and+1


Note that the horizontal axis is in Hz. The sampling frequency ia 1Hz. One half the sample rate ia 0.5Hz - the Nyquist rate). What you are seeing above 0.5Hz is aliasing. How UGLY!

Lets try to plot the response for n=2. With this filter all we do is add the current and previous samples and divide by 2. The characteristic equation is Y = ½(X + Xz-1) .& The transfer function is H(z) = ½(1+z-1) = ½(1+z)/z . This has a single pole at 0 and a zero at -1. Thus its stable. The normalized frequency domain function H(e) = ½(1+e-jω). Its normalized for a sample time of 1sec. The plot looks like this.
This looks more well behaved!
http://www.wolframalpha.com/input/?i=log+plot+abs%281%2F2%281%2Bexp%28-2*i*w*pi%29%29%29+between+0+and+1

Note that the horizontal axis this time is in Hz. Since the sample time is a normalized 1second, then the sample frequency is 1.0 Hz, and the Nyquist frequency is 0.5 Hz.

In my next Laboratory Note we will look at the Exponential Filter. This is actually my favorite and I will show you why!


damon at 7:09 PM |
(4) Comments | Add a comment | Permalink



 Wednesday, August 29, 2012


Moores Law vindicated?   
Interesting, from an AP news article: 

Time Warner Cable Inc. (NYSE:TWC): Time Warner Cable (NYSE:TWC) will increase Internet speeds for businesses in four New York City boroughs by up to 20 times, according to Bloomberg. The news service suggests that the move by the cable company comes in response to Google’s (NASDAQ:GOOG) Google Fiber initiative in Kansas City. The shares traded up $0.40 (0.45%) recently at $90.27.



damon at 6:03 AM |
(1) Comments | Add a comment | Permalink



 Monday, August 20, 2012


Interesting Stats   
I am reading a paper, "Anatomy of a Database System", by Michael Hellerstein and Joseph Stonebraker.  Its more of the nuts and bolts of Database architecture and research directions.  It has a couple of interesting statistics that should be a consideration to any system architecture.

"Sequential access to disk blocks is between 10 and 100 times faster than random access. This gap is increasing quickly. Disk density – and hence sequential bandwidth – improves following Moore’s Law, doubling every 18 months. Disk arm movement is improving at a much slower rate."

Second,

"Memory copies are becoming a dominant bottleneck in computer architectures: this is due to the gap in performance evolution between raw CPU cycles per second (which follows Moore’s law) and RAM access speed (which trails Moore’s law significantly)."

This remark was directed at inadvertent double or triple buffering done by the application and then again by the OS. 


damon at 5:48 PM |
(2) Comments | Add a comment | Permalink



 Thursday, July 26, 2012


What happened to Moore's law?   
Does the following resonate with you? Google to the rescue!!!(?)  This is an excerpt from a CNET article.

fiber}.jpgGoogle's chief financial officer, Patrick Pichette, described during a presentation introducing Google Fiber how computing power thanks to Moore's Law has grown through the years doubling every 18 months. And he showed how the cost of network storage has fallen dramatically, paving the way for cloud-based services such as the ones offered by Google. But network access speeds have remained relatively flat over the past several years. The result has been only incremental changes in the speed of services that are offered to consumers.

"We saw a doubling of speeds for Internet access in the early years as we went from 14 kbps to 28 kbps," said. "But then after the cable modem showed up, we've seen little progress in access." Pichette also pointed out that even though speeds have only increased incrementally on a per megabit basis, Americans are still paying more for Internet access than consumers in other countries.


damon at 8:54 PM |
(4) Comments | Add a comment | Permalink



 Tuesday, June 26, 2012


Undo/Redo   
Undo-icon.pngA software concern that I recently investigated was Undo/Redo.  An OOP programmer tries to use design patterns as a tool for recognizing software patterns that repeat themselves from project to project.  As an engineer or programmer we all come to recognize these recurring design patterns.  These patterns are abstract.  They help us to see seemingly different projects as having common threads.  Once we recognize them they help us to do our job quicker and possibly more thoroughly.

There are two design patterns I looked at for implementing an Undo/Redo facility for a software project.  Both require an Undo stack and a Redo stack.  As the user executes commands in the target program the commands are put on the Undo stack.  If the user un-does an operation, that operation is then put on the redo stack.  

The first method I investigated was to use something like the command pattern to create a central mechanism for each user operation.  The problem is that each command would need its opposite command for the undo operation.  Not many operations are reversible.  This would mean the operations presented to the user would necessarily be limited to reversible operations.

damon undo-redo copy.gifThe second method, the method I chose to implement, was to save the state of the software at each step.  A design pattern that can implement this functionality is the Memento design pattern. 

The Undo/Redo software concern can be demonstrated to be a cross-cutting concern.  That is this concern is highly coupled with the other aspects of the target program.  As such I additionally demonstrated an Aspect Oriented (AOP) approach to modularization of this concern.

Link to report


damon at 8:35 PM |
(2) Comments | Add a comment | Permalink



 Wednesday, November 02, 2011


Comment Spam and NoFollow attribute   
I have been getting large amounts of comment spam.  There are two type of comment spam I regularly get.  The first type is just a bunch of gibberish links to Viagra and other spam sites.  This is probably left by a robot. The second is superfluous or gratuitous comments.  There must be people hired to leave this junk because it partly make sense in the context of the post they are commenting on. 

I still let commenters leave a url with their name.  I just added the 'nofollow' attribute to the link.  Hopefully this may help increase my Google page rank as well.


damon at 6:34 PM |
(1) Comments | Add a comment | Permalink



 Friday, October 21, 2011


Lighting a Bulb from Ground.   
Years ago we did a little experiment to demonstrate a common networking problem.  We were networking some little user terminals that were used in factories to keep track of production.  These were of our own design.  In this design we were networking the various terminals together using low voltage wire and a serial protocol. We were using RS-422 which uses a balanced differential pair of signals.   As a demonstration of the voltage potentials that can exist we got a drop light and connected each of its' wire's to some equipment on each end of the factory floor.  CMV.bmpWe connected to neutral on each end.  We then tried the chassis grounds as well.

Don't you know we were able to get that light bulb to light!  We never did track down the source of the actual problem.  It could be the equipment was badly grounded.  Or that the equipment was not grounded at all.   In any case we wanted OUR boxes to work in as many different situations as possible and be as reliable as possible.

This is were we came up with a common mode voltage requirement for our serial network differential signaling.  A requirement is born.


damon at 4:44 PM |
(1) Comments | Add a comment | Permalink



 Tuesday, September 20, 2011


Why is Nyquist important to A/D converters?   
The problem of sampled systems keeps popping its head up.  Remember what Nyquist said, that the maximum signal we can reconstruct is half of the sampling rate.  If the signal we sample has components higher than 1/2 sampling rate then we get a phenomena called 'aliasing.'  If I were to send an aliased signal back out of a computer to a D/A converter it would look like the signal was 'shifted' in frequency.  This frequency shift would be equal to the sampling rate.   Suppose a signal of Fs was put into an A/D converter and the sampling rate was Fs.  It might appear on a D/A converter as a DC signal (because Fs - Fs = 0 ).

Sampled Image.jpgAs an everyday example of aliasing, have you ever seen a moving fan appear still under a strobe light?  When the strobe is blinking at the same rpm's as the fans rotational speed, the fan will appear motionless.

The aliasing phenomena can occur if the sampled signal is at or above 1/2 the sampling rate OR IF IT HAS  (Fourier) COMPONENTS AT OR ABOVE THIS RATE. In this case just those components above the Nyquist rate would be aliased, but the total signal if reconstructed will be distorted.

How do we deal with this issue?  Typically we use an anti-aliasing filter on the front end of the A/D.  It might be as simple as an RC or more complicated as a multi-pole active filter Chebychev or Buttworth configuration.  The key is to understand how much attenuation we need at the stop band.  Suppose our A/D is 12 bits.  The ideal SNR is 72dB.  Our filter should be designed to provide 72 db of attenuation at the stop band.


damon at 8:29 PM |
(2) Comments | Add a comment | Permalink



 Tuesday, September 20, 2011


The Two Army Problem   
I am reading a book on networking.  Computer Networks, Tanenbaum, 5/E.  One of the networking issues it is discussing is how to bring down a synchronous connection.  A synchronous disconnect is one where both the sender and receiver agree to terminate.  I have run into this exact same issue under a different guise in the past and did not know how to epitomize the core issue.  This is an issue at the heart of many acknowledged services.  Here is the problem in a nutshell as explained in the two army problem.

two army.gifSuppose there is a valley surrounded by two hills.  On one hill is Black army 1.  On the second hill is Black army 2.  In the valley is the Blue army.  Now the Blue army is larger then either of the individual Black army's, but together the Black army is larger then the Blue.  If either Black army attacks Blue independently they would lose, but together they would win.  The problem for Black army 1 commander is to communicate a coordinated attack time to Black army 2.  But Black 1 needs to be SURE that Black 2 got the message or he would be delinquent in his duties and be stripped of command if Black 1 attacked alone.  So Black 1 commander sends a man though the Blue valley with this message, "We attack at dawn, acknowledge you received this message."  Black 2 commander gets this message and sends a man with a message saying "We are with you and attack at dawn."  Sending the courier back and forth is similar to an unreliable network because the courier could be caught or shot.

Now there is a problem.  A BIG problem.  How does Black commander 2 know the acknowledgment got through?  If the acknowledgement didn't get through then Black commander 2 would be attacking alone, since Black commander 1 did not get the acknowledgment and would not attack.  Black commander 2 can ask for an acknowledgment that the acknowledgment got through, but then we are back at the same problem on the other side! Think about it.  Black 2 asks for the ack to the ack.  Black 1 sends it.  How does Black 1 now know the ack to the ack got through?  If it didn't Black 2 will not attack now. 

The courier going back and forth across the Blue army turf is like a noisy or unreliable network.  We are trying to make the network reliable by adding acknowledgments to the messages. That last asknowledgement is the critical message. 

This is an interesting problem!  There does not seem to be a clean solution presented that is 100% reliable, but there are workable solutions for particular applications.


damon at 7:43 PM |
(4) Comments | Add a comment | Permalink



 Wednesday, August 24, 2011


DSP Builder   
Interesting tool from Altera, DSP Builder, based on Simulink. 


damon at 8:38 PM |
(0) Comments | Add a comment | Permalink



 Monday, August 22, 2011


PSOC vs DSP   

Recently I have been thinking more of PSOC and Anadigm. Both offer programmable analog components on a chip. At first look they are really cool technology. You can drag and drop program interesting analog circuitry.  But recently I have been thinking about how I would use them. I am now confused. Let me explain why.

Typical analog components this might replace are interfaces to sensors. We might need to measure voltages, currents, temperatures, pressures... We might need to stimulate inputs. What we do now is to process these with discrete analog components. Op amps, comparators, resistor divider and low pass filters. So my first reaction is part of this decision is more of a management decision rather then a technical one. For instance it just may be more convenient for us to do it this way rather then some more highly integrated choice. The choices may be available manpower, observable testable points, proven circuitry. On the other hand, I am always willing to at least consider something new, and maybe, if it makes sense, try something new.

Trapezoid_rule.jpgSo now I come to my other epiphany. How many of you know the bilinear transform? It says s=2/T(z+1)/(z-1). There are many transforms that relate the s domain to the z domain (don't tune me out, I will explain this all). The S domain is the analog domain. The Z domain is the digital domain.

Now back to English. With this simple equation I can realize all my analog circuitry in a digital processor! Why do I need analog at all? What does PSOC buy me that I can't already do with with a DSP and that equation? Perhaps the drag and drop nature of the PSOC tool makes it easy to realize these functions then the math involved with implementing a digital filter using the bilinear transform. Well if the advantage of PSOC is that its easier for an engineer to implement what about just using op amps, comparators and capacitors. Isn't that easier still?  Wouldn't this be a tool issue? 

I think I need to evaluate PSOC on some specific circuit or goal. I am just not sure.



damon at 7:48 PM |
(5) Comments | Add a comment | Permalink



 Tuesday, July 19, 2011


Power Line Freq Drift   
power-grid-lines.jpgSoon power companies will remove long term grid frequency drift control.  Engineers have long known that the 60Hz line frequency is a stable long term clock source.  Many older consumer clocks derive their clock base from the power line.  This is a cost cutting measure.  From the unofficial info I have seen the frequency may drift as much as 8-20 minutes per year.  The original story was reported in the Associated Press.


damon at 9:13 AM |
(0) Comments | Add a comment | Permalink



 Monday, July 04, 2011


Interesting Circuit Problem   

A couple months ago I ran across a circuitry problem that may interest those with a little electronics knowledge. We were getting failures on a high percentage of new product, but not on all of them. The product was warning that its internal -15v supply was out of tolerance (and faulting). A manual check with a voltmeter showed the -15v supply was within the required +/-10% tolerance. Other internal supplies were monitored as well by the computer and they never exhibited this issue. Below is a schematic of the components involved, what I found and the interesting solution.
Circuit2.JPG

What this schematic is showing is three resistor divider circuits that divide down the +15, +5v and the -15 volt supplies to feed the A/D converter inputs (there is some additional filtering and protection not shown). This A/D converter can resolve a range of 0v to +3v signal thus the need to divide down the voltages before conversion. Additionally the -15v rail voltage is "translated" to a positive voltage by raising it with the +5V. The code in the computer then reads the A/D converter and looks to see if the value read is out of +/-10% tolerance.

There is a problem though with the -15v divider circuit. Do you see it? The -15v circuit is dependent on the +5v voltage as well. So for instance if the +5v rail is 8% too high (within spec), and the -15v signal is 8% too low (also within spec), the resulting divided/translated voltage may be more than 10% out of whack (this is a highly technical term).  The unit would then erroneously fault. 

I found a simple software change that put this issue to rest. We need to first read the +5 rail voltage.  Then the -15v rail voltage is read and we subtract out the component of +5v rail voltage from the -15v reading.  To do this requires some math and Kirchoff's voltage law. 

VAD3 = V+5v - ( V+5v - V-15v) R5 /( R5 + R6)

Next we have to solve for V-15v :

V-15v = (V+5v - VAD3)(R5 + R6)/R5 + V+5v

I implemented this equation in the firmware of the computer and it worked like a charm!  I implemented it, but did not consider this solution to be optimal. In subsequent designs I made sure we did not use the +5v supply to translate the -15v supply voltage, but for this product this software solution had several benefits:

  • Easy fix for units already in field.  No recall.
  • No waste for already manufactured inventory.  We can use existing stuffed pcb's.
  • We did not need to delay an already delayed product.
  • No additional cost for the pcb NRE.
There were some other issues with this solution, scaling issues and floating point issues, but those are for another lab note.

Did you know you can get all of my older lab notes by hitting the archive button on my top banner or to the left?



damon at 3:28 AM |
(2) Comments | Add a comment | Permalink



 Tuesday, January 25, 2011


Worlds First Computer   
Interesting article brought to my attention by my brother Mike Bruccoleri on the worlds first computer that has been brought back to life.


damon at 7:16 AM |
(1) Comments | Add a comment | Permalink



 Wednesday, November 24, 2010


My Lab Notes   
Its interesting to track what Lab Notes I get hits on.  I have Google Analytics on my web site and can track what notes get hits.  My most active Lab Note is "The Best Buy/Monster Cable Scam".  I still get hits on a number of key words.  HDMI, etc.. That was an original 'news' item and the one Google sends me the most referrals on. 


damon at 9:17 PM |
(0) Comments | Add a comment | Permalink



 Friday, June 04, 2010


Choosing the best pcb size   
pcb.gifA while back I got a consulting job through my employer, strictly creating the artwork for a pcb.  The client was in the tele-communication field.  The circuit was used in the party line telephone systems they use in rural areas.  It consisted of two 14 pin chips and a handful of discrete's.  I think it counted rings and rang the phone to distinguish a particular phone on a party line.  Anyway, the client wanted me to take his circuit and create a pcb.  It had to fit in a pcb about 1"x1.5".  If I could not fit it in that size he gave me two other sizes that were a little larger, then a little larger still.  The client had a pre-existing little housing for the pcb from a previous product and did not want to make a new mold for a new case.

Now here is my dilemma.  Which size do I start out with?  Placing some outlines of the components on a 1" x 1.5" rectangle proved that by laying the components so they touch each other they would not fit in the space.  I talked to some other engineers who had more experience routing pcb's and they gave me this advice:  assume success and start with the ideal size, particularly if the client is willing to pay for your time, and this one was.

Sure enough, after the second day I got a bright idea on how to make the components fit on the pcb.  You see one of the components I had to place on the board was a large MOV and I had to lay it down because of a height consideration with a lead bend.  I wound up laying the MOV flat on top of a chip and another component and that freed up enough space, with some other clever placement and routing, to complete the pcb in the 1" x 1.5" area.  The other thing that helped, and I could do this ONLY because it was a small job, was to use Autocad.  With Autocad I was able to be more creative with the artwork then a dedicated pcb software would allow.

The outcome of this story?  I thought the client would be ecstatic and give me accolades, but all I got was my paycheck. I have since learnt that a paycheck IS something to estatic about and to always try to give the client his ideal product first.


damon at 9:26 AM |
(0) Comments | Add a comment | Permalink



 Thursday, November 19, 2009


The story of 9 finger Bernhard   
I have not posted in a while, I have been busy after my work in China with a ton of new pcb_assembly.jpgwork here, but I do have a story to tell.  A while back my business partner, Ed Kafrissen, and myself got a contract to deliver a product to Telerobotics Corp.  The president, Carl Flatau, contracted us to deliver the electronics for a force sensing control system for his robotic gripper product.  This device we gave him was pretty slick, his product was pretty slick, but that is a different story.

Carl was a stickler for quality.  All the devices we delivered to him were 100% tested before we delivered them to him of course, but he wanted to know details about our manufacturing.  So Ed suggested I visit the sub-contractor we hired to stuff and wave solder our pcb's since at least a few pcb's came to us with some sort of problem from the assembly house.

That is where I met '9 finger Bernie'. When I shook his hand it was immediately apparent, and let me tell you an awkward moment.  Bernhard (or Bernie) had many years of experience and a heavy German accent.  I asked him why we were getting some defective boards.  A few boards had chips in back-wards, or the wrong resistor value stuffed, ... just a hodge podge of errors.  Our pcb's were mixed technology, SMT and thru-hole.  Bernie grabbed one of my boards and used the stub of his missing finger as a pedestal to hold the board as he talked to me.  Bernie then gave me a bit of advice that has taken me some time to appreciate.

He told me the pcb's had too many different components.  He said that for his staff to give me the fewest defects, then my pcb would need to be simpler.  He told me the ideal pcb had all the same value resistor.  He chose resistors rather than diodes or some other component because the orientation of resistors does not matter.  Second he said that he would prefer all the resistor's to be lined up next to each other.  I did not laugh at Bernie (I also helped him set up a better quality control on his line for our product, but I pondered on his advice just the same.)

I wish I could have gave him his ideal pcb.  Unfortunately I do not have the knowledge to design a board that performs all the functions necessary for a product with a single value resistor.  As one step in the design process I do try to simplify my pcb's though now because he was right.   A simpler pcb is cheaper to produce and will be more reliable.

It takes good engineering to simplify a board because it's a more difficult challange.


damon at 7:36 PM |
(1) Comments | Add a comment | Permalink



 Thursday, July 02, 2009


Computer Architecture class and Mano Assembler   
This spring I taught a computer architecture class to the students at the Nanjing University of Posts and Telecommunications.  This was a great bunch of very smart students. One of the topics in the course was the Mano Machine (we were umotherboard_sm.bmpsing the Mano  book!).  This is a fictitious computer that has a simple architecture.  The architecture is simple enough that the students can grasp a complete chip architecture in a few weeks time.  There is quite a bit on the internet about this including an assembler and simulator someone wrote.   I teach them how to design/write a two pass assembler.  Guess what?  One of my students actually wrote the code to implement a two pass assembler for the Mano machine. Shao wrote it in Java.  He created a Google codeplex project here if you want to download and run or build upon it.  Shao Chong got an A in my class.    Not only because of this extra credit, but he really understood the material.  Good work Shao.


damon at 5:52 PM |
(7) Comments | Add a comment | Permalink



 Sunday, April 12, 2009


Using DeMorgans Theorm   

I do not usually write lab notes on specific programming issues. I try to keep my web site general so many people can understand it. This note is an exception, its a real simple software related issue. Over the years of writing software I keep coming back to DeMorgan’s Theorem. It was one of those things that in college I never thought I would use, but it seems to pop up on a regular basis at work. I think this is fascinating stuff, particularly when academia meets the pavement.

First, the background. DeMorgan’s Theorem states:
image001.jpg .
DeMorgan’s theorem cannot be proved or reduced using math. The only proof is a brute force proof. At this point your probably thinking, "how can this academic theorem prove to be useful at work?" Let me show by example.

switch Circuit.jpgThis is going to be a real simple contrived example to demonstrate DeMorgan. Suppose the programming job is to read two switch inputs and to turn a motor on if both switches are closed. Perhaps to drive the motor ON we also have to output a LOW. It is common in computer to have negative I/O logic. Here is a schematic for this. We can see that if either switch is closed the input to the computer will go low.

I can now write software to implement the required function.

If ( SW1 = 0) AND ( SW1=0)
THEN MOTOR = 0
ELSE MOTOR =1

Do you see the correlation between this software statement and DeMorgan’s Theorem? Now we can simplify the programming statement using DeMorgan’s. Two simplifications make the statement easier to read. We take advantage of BOOLEAN type's and we can switch around the THEN and ELSE part to get rid of a NOT operator.

If (SW1 OR SW2)
THEN MOTOR =1
ELSE MOTOR =0

An astute programmer might note a further simplification by writing a single algebraic Boolean expression for this statement such as

MOTOR = SW1 OR SW2.

Understanding and using DeMorgan’s Theorem has simplified the programming, if only a little here. In larger applications we would get a larger return on our simplification investment.

Even though many compilers will reduce expressions internally, simplifying your programming pays rewards in understandable code. ALWAYS simplify code and remember to use DeMorgan.



damon at 7:30 AM |
(6) Comments | Add a comment | Permalink



 Tuesday, December 30, 2008


Christmas Toy Got Broke Daddy   
This Christmas I bought a toy digital camera for my daughter Jasmine.  The Girl Tech Video Journal.   It lasted about 48 hours before it broke.  Here is a marketing photo of what it is suppose to look like:
girltechcamera.jpg

Here is an actual photo of the broken toy opened up.   The mini usb connector broke off and was rattling around in the case.   That's it in the middle.   I can not blame the kids for this.  Can you see what is the design flaw of this toy?  It would not have cost anything to design it right.

toy-usb-broken.jpg


damon at 9:55 PM |
(3) Comments | Add a comment | Permalink



 Saturday, July 26, 2008


Why are Engineering Tolerances important to design?   
Jackie Robinson Parkway.gif
Anyone who has driven on the Jackie Robinson Parkway [Queens, NY] has already gained an appreciation of Tolerances. The posted speed limit is 40mph, but even that is too fast. Most drivers new to the parkway try to take it at 55 or 60. Big Mistake. There is a curve going to the Van Wyke or GCP where you can see all the marks made by cars as they side swipe the concrete and stone wall. The lane has a tight tolerance with respect to the width of a car and it makes it hard to navigate.

Many years ago I worked closely with a fellow who had a machine design shop. He designed machines for all sorts of industries. He was a mechanical engineer by training. He relied on my company to provide the electronics for his machines. I had an opportunity to ask him about his mechanical designs and he explained that the most important aspect (to him) was tolerancing.  For instance, if you create a drawing for a one-off part used in the aerospace industry, it might be acceptable to specify a 0.1 mil tolerance on all your dimensions. Realize what is going to happen. When the machinist gets your drawing he might have to throw out the first 5 parts he makes because he had trouble holding that spec. Eventually he will learn how to make your part to that tight tolerance, possibly he might have to design his own fixtures to help him hold the part as he machines it. Eventually, with much waste, he will make your part.  Your part will be expensive, but it may be less expensive than the engineering to realize a 'better' design. 

tolerance.jpgA good mechanical design orients the parts so that they do not need to be manufactured with a tight tolerance. If you have ever assembled furniture from IKEA you might have noticed the large over sized screw holes to allow the part to 'float' with respect to the attached part thus alleviating the need for a tight tolerance.

One might think that a very good design then tolerates loose tolerances on all its parts. Such a design could be manufactured 'cheaper.' Well, if you remember back in the '70's how the Asian car manufacturers were advertising how well the parts of their car fit you think otherwise. Loose tolerances could give the perception of a cheaply made product to the consumer. You want your product to be manufactured inexpensively, but not appear cheap.

Tolerancing can take on a different aspect to the software professional. Back in 1981 John Postel coined the "Robustness Principle". In it he advocates that a browser should “Be conservative in what you do, be liberal in what you accept from others.” This holding of loose tolerances has resulted in a problem. See this link. For a browser the specified tolerance should be as tight as possible. Only in this manner can software manufacturers duplicate the performance of the browser over the range of web sites.

What conclusion can we make? Sometime a tight tolerance is good, sometimes its not good. But it is ALWAYS important to your design.


damon at 7:40 AM |
(4) Comments | Add a comment | Permalink



 Thursday, March 27, 2008


How to find a short on a Printed Circuit Board (PCB)   

PCB_complete_sm.jpgWhen I am troubleshooting new PCB's I have a unique technique for finding shorts on PCB's.  I actually have to hand the credit for this technique to a business partner, Dr. Ed Kafrissen.  He came up with a few non-traditional ways of doing business, and this is one of them.

So let me set up a scenario for you, and then show you Ed's solution.  Suppose you have a client and you need to deliver 100 PCB's to him/her quickly.  You have someone stuff the boards for you, now you have to verify they work.  One of the first tests we would do is to apply power to the new PCB and bring the voltage up slowly.  If the power supplies load down, then you got a problem to solve.  You got a short on the PCB.

Damon circa 1982 sm.jpgEd came up with unique solution.  We had this old humongous power supply lying around that was capable of suppling 30v at up to 5 amperes.  This technique only works if the power supply, like ours, has an adjustment to limit the voltage and current.  We would set the voltage to necessary voltage and the current all the way down.  Ed would then hook up the PCB, which immediately loaded down the current limited supply.  He would turn up the current on the supply and feel on the PCB for a hot spot!  Invariably some IC would be stuffed in backwards that our visual inspection did not find, or we would get a PCB which was not completely etched.  In those days we got horrendous PCB's.

Anyway, that was Ed's solution to quickly find shorts on a PCB.  And it worked well as long as you were careful enough to not burn yourself!  Yeow!



damon at 10:56 AM |
(8) Comments | Add a comment | Permalink



 Monday, January 14, 2008


Nokia HF-6W defect, no sound   
Nokia has some serious design problems... and they are not telling anyone!  Let me explain.

hf-6w.jpgAbout 2 years ago I did some shopping for a Bluetooth car speaker phone.  I hit upon what I considered the most perfect speaker phone, the Nokia HF-6W.  It cost me over $120, but it was worth it (while it lasted).  It had a powerful 6w speaker and several microphones that tracked the sound source.  It worked great as well.

About a year ago it died.  I assumed it was a 'normal' failure.  I returned the unit to Nokia returns and they sent me a new unit.  This second one failed in the same manner.  Further, after doing a search on the internet I found other people are experiencing the same failure of the Nokia HF-6W and here.  Nokia's warrenty only covers the unit for one year.  This is a design flaw.  Nokia should admit it and do right by their customers.

The way the HF-6W speaker phone fails it that no sound comes from the speaker.  The speaker is dead.  Second, the unit will not reset itself.  When the power button and volume up buttons are pressed simultaneously while the device is off, the unit is suppose to revert to its default state.  The green and red LED's are suppose to blink as well.  I cannot seem to get it to reset.  The unit seems to work otherwise, bluetooth connects, etc. 

Now my wifes unit, unit #3, failed the same way.  Have you stumbled upon my post and are having the same problem?

[UPDATE 02/04/08]
Nokia replaced my HF-6w with their HF-33.  It has a much smaller speaker and no built in retractable phone charger.  The retail price is about 1/2 that of the HF-6w.  I am accepting this replacement under the condition that it simply WORK.



damon at 8:16 PM |
(10) Comments | Add a comment | Permalink



 Friday, December 28, 2007


Philips Consumer Communications and my most difficult bug ever!   

DCP00130.jpgDuring 1997-1999 period I was working for Philips Consumer Communications. It was a joint venture between Lucent and Philips and we made telephones. We had the sole right to sell phones under the AT&T logo. I had a magnificent apartment on the ocean in Long Branch, NJ. This was at the Sea Verge apartments.

I worked with a great team of firmware engineers. My managers were Ken Kasiske and Trey Weaver. I was on the 'Ocelot' team. We were tasked to make their very first 900Mhz all digital cordless telephone. What a son-of-a-gun this project was. The heart of the project was an 8051 based base-band chip called the Phox by AMD. We took their DECT reference design and modified it for our project. The reference software did not come fully debugged. With a little sweat my team, Grady Brosier, Bassam Chamoun, Ken Bocan and I, got it working! I was the lead on this team, I was in charge of the firmware for the phone base station, Caller ID, and communications stack. I was also the only one with significant prior 8051 experience.

9130.gifThe most interesting thing I remember about this job is that I found the most difficult bug I have ever encountered there in my life. Briefly I will describe what I found. The DECT protocol is an acknowledged protocol between handset and base. The state machine that controls when the transceiver re-transmits or acknowledges was getting into a wrong state. This state was represented by several variables so first we had to recognize this part of the problem. The transceiver would get in this state only intermittently. If you used the phone heavily for 15-20 minutes, it would lock up. We would set breakpoints in the software, but it took forever to reproduce the problem.

Finally, we found how the transceiver state machine could get into this state. Out of tens of thousands of lines of code an interrupt had to occur only between two sequential (tiny) 'C' statements that were setting two semaphore flags. It took us weeks to understand the state machine and weeks to trap this problem. My firmware partner and I were pressing buttons on the phone for hours to reproduce the problem.  Like I said, we finally got the phone working 100% to spec, and on time, with some hard work! The problem had come in on the reference design.

Cindy Price (our project manager) had some challenges to work through toward the end of the project on the hardware front as well. The hardware guys were led by Brian Kim and Paul Newland. Paul came out of Lucent's Bell Labs. The were (are) two of the best engineers I have ever met. I had a lot of respect for them. It seems the hardware guys found that the front end of the radio was being saturated by RF near the 900 Mhz frequency. This was an issue because if the customer lived near a paging tower his cordless telephone would not work. The solution was to include a SAW filter on the front end. A SAW is a narrow band filter.

Then end of this story is that we all got the phone out, but VTech wound up purchasing our division a couple years later. They bought the whole division so they could use the AT&T brand name and logo!



admin4 at 7:10 AM |
(7) Comments | Add a comment | Permalink



 Friday, August 17, 2007


Creating Demo Products/Services/Software   
pigs_in_blankets.jpgMy brother Michael is a musician and he explained a very interesting problem in his business.  It stuck with me because I found it applicable to my work, and I think you might find this interesting as well.

For Michael to get a gig (work), from time to time he has to do a bridal showcase.  The showcases are free to the brides and Mike has to expend his time, and money, to put these on in the hopes of getting some work.  Caterers are also at these 'demos' and they provide food with the same intention, to get some work.  Mike explained that the caterers have a conundrum.  If they use cheap food the prospective customer will get a bad impression of their service, but good food on the other hand is very expensive.  So do you go broke trying to get customers, or go broke because you have no customers?

I think there may not be any answer to this, but in any case when doing a demo do not take it lightly.  You need to put your best foot forward.  You don't want your demo to convince your customer they don't want your product or service.  It should be accurate and appealing. Definitely don't blow it off because it's a 'freebie'.  Then you will have expended your time, money AND alienated your customers.

Your ideal customer is after something you have (if you've done your marketing and product right).  Let them have enough of what you do best, but not too much.  Can you get them to invest their time, effort, and/or money into your demo?  On the other hand you can't expect the customer to spend too much time on your product.  If your lucky you got about 2 seconds to get their attention, and maybe 2 minutes more if you do.  I call that the 2/2 rule. 

Let the customer get comfortable, understand and feel they really 'know' your product.  It is up to the salesperson as well to get the customer involved in the demo product/software or service.  Give the customer a feeling they learned something. The demo should not scare the customer with too much wiz bang technical mumbo jumbo either.  Measure exactly what you give them in the 2 minutes you might have them.

Don't fully satisfy the customers need(s), after all you have something to sell them [a free product to generate good will is a different topic].  Show them what their missing.  What you want to do is, to take a cliche from the entertainment biz, "always leave them wanting more." 


dbruccoleri at 6:50 AM |
(1) Comments | Add a comment | Permalink



 Tuesday, August 14, 2007


Elevator Design, the famous story   
elevator.bmpThere is a famous story about elevator design that illustrates the 'knowing your customer' theme I seem to be on these days.  I do not know the source of this story, or its authenticity, but it seems credible.  This story was related to me by an ex manager, he heard it at a seminar.  I have read this in a number of design books as well.

The owner of a large building was getting complaints from the tenants that the buildings elevator service was too slow.  The owner solicited proposals from a number of companies to speed up the service.  One proposal though won, was a fraction of the cost of the rest, and proved to be an ideal solution.  The proposal:  put mirrors next to each elevator door.  People like to look at themselves.  Even that short distraction is enough to make the wait less noticeable or irritating.

With that in mind, I won't be putting any mirrors up on this web site.  There may be some delay though in posts as I have a number of code upgrades I want to implement.


dbruccoleri at 12:42 PM |
(3) Comments | Add a comment | Permalink



 Wednesday, July 11, 2007


Implementing Watchdog's in FPGA's   
In the past I have written about the merits of incorporating a watchdog timer in your product.  A watchdog protects a computer from 'locking up'.  There is another way to look at this solution.  A simple computer is a single sequential state machine (yes, there are multi-core computers) and a watchdog can protect that state machine from getting into unforeseen states, or dwelling in known states for too long, ... and much more.

The question I propose, is how do you protect an FPGA?  An FPGA is unlike a micro-controller or DSP.  It is processing many different inputs in parallel.  There may be many state machines going at once.  Do you implement a watchdog timer for every state machine?  That solution may be untenable for all but the most rigorous designs (translation: too much work!).

I already think I know part of the solution.  It should be to cause a system wide reset should any of the state machines get into an unforeseen state.   That shouldn't be too difficult to implement.

I have some other thoughts on this that I will share in an upcoming lab note.  I plan on implementing some of these idea in my next project here at my Hauppauge based laboratory.  I will report back my success (or failures). 

The project will be successful if I am able to protect the design from unforeseen input without 'significant programming effort' and achieve 'significant benefit'.  Implementing the watchdog should not add more than 5% to the development effort.  The process or development effort should also be mechanical and repeatable.  In fact, there is no reason why this could not be incorporated directly into the FPGA development tool and be transparant to the programmer.


admin4 at 7:37 AM |
(3) Comments | Add a comment | Permalink



 Friday, June 22, 2007


Patent Invention Promotion Companies   
inventionpromofirms.jpgLets say you pay someone to do some work for you.  They do shoddy work.  Finally enough people are taken and the vendor gets caught and they (eventually) get their license suspended.  You may derive some satisfaction from that, but your still out your money AND whatever work they were to do was done shoddily.  The shoddy work may wind up costing you even more than the direct money you are out.

I have always wondered about these patent invention companies.  You know them ... I see them advertised on TV all the time.  They claim they will patent your invention and 'present it to industry' (whatever that means).  If they were to do shoddy work you could wind up losing any claim on your invention.  You would be out any fees they charged PLUS any future royalties on your invention.

Dennis Crouch is a patent attorney and has a wonderful blog about patents.  In his latent entry he discusses Bender v. Dudas (Fed. Cir. 2007). Usually Mr. Crouch's language is too thick in legal jargon.  But this one is easier to understand.  It discusses how 'Bender' had their license to practice revoked and exposes their relation with the patent invention promotion company and clients.

I particularly like this quote by Mr. Crouch:
"Individual inventors who are not yet versed in the rules of patent law create problems for patent prosecutors. The work generally takes more time and effort, the malpractice risk is often greater, and the ability to pay is usually less. A number of law firms now have policies against representing individuals (except for the very wealthy)."

I would suggest that any engineer (or 'inventor')  should take every opportunity to understand some of the basics of patent law.  The difference between design and utility patents as well as provisional and non-provisional patents would be my first suggestion.  Visiting the United States Patent Office website would be a first step.

I have about a dozen patents in my name that I worked with patent attorney's to file and get assigned.  One of them is actually pretty valuable.   Its not just important to understand some patent law, but there is a whole philosophy surrounding patents - what to patent and how.  I find the term 'patent protection' to be a misnomer as well.  A patent is more like the right to sue since it seems quite common for companies to completely ignore patents.  Patents, and everything that surrounds them, can be quite expensive for an individual inventor or engineer.


admin4 at 5:53 AM |
(4) Comments | Add a comment | Permalink



 Sunday, June 03, 2007


Ergometer   

In 1992 my then business partner Ed Kafrissen and myself had the biomechanics_sm.jpgfortune to contract with a company that specializes in ergonomic design, our customer.  One of the things an ergonomic engineer does is collect demographic and population data. So they would know the ideal size for a hand held device to fit in (for example) a typical human hand.  This company worked with Industrial designers and artists to make sketches and mock ups of the products before Ed and I turned them into actual products.  We 'owned' the soft side of the ergonomic design as well.

Below is a design sketch of the "Hand Held Stress Meter".   We turned this into reality for the customer.   It is a biomedical device for collecting biomechanical data.   If you think about the placement of the user interface elements in the sketch, there was some thought that went into it.  For instance the 'volume dial' was where your thumb would land.  Designed by biomechanical engineers for biomechanical engineers.


ergometer.jpg





























In 1996, a few years later, I worked for a major Fortune 500 manufacturer.  I arranged a meeting between my engineering department and the Ergonomic design house I had previously worked for.  They had no in-house ergonomic engineers.  This was, is, a LARGE corporation.  I take it as my failure that I was unable to get the attention of the management there and illustrate the value of ergonomics [If you are following these series of laboratory notes you will notice that I am endeavoring to bring my communication skills to a higher level]. 

In subsequent laboratory notebook entries I should illustrate the significance of design.



admin4 at 6:45 PM |
(0) Comments | Add a comment | Permalink



 Saturday, June 02, 2007


Design vs Engineering   

design_sm.jpg

I am going to steal a little trick I learned from Joel Spolsky and give you a little blog test.  This is a simple fill in the blank.  Designer is to Engineer as Architect is to ____________ .
To see the answer 'magically' appear select the area below with your mouse.

Engineer

Is that a trick question?  Yes Architects and Designers both require Engineering to create their designs.  Of course Architects create building and Designers create products, but they both share the same set of 'tensions' that shape their designs as the picture illustrates.

Some people might take exception with the 'art' element.  I have used art instead of the more specific case of industrial design.  Industrial design has the functionality, cost and ergonomics elements built into it.

Designers are not necessarily engineers, and Engineers are not necessarily designers. 



admin4 at 6:36 AM |
(2) Comments | Add a comment | Permalink



 Wednesday, May 30, 2007


Of Metaphors, Models and Design   

housewife-with-mop.jpgCreating a programming language for your product requires a knowledge of your customer.  Years ago I had a job designing robots.  Now there are, or were, various languages and systems for programming of the robot to do its assigned task.  Most of those languages at the time required the person doing the robot programming to have computer programming skills. I had a great idea on how to program my robot.  I had just learned about the FORTH language and figured everyone would love to learn FORTH.  I wrote a FORTH interpreter. If you are familiar with FORTH you will know its designed around reverse polish notation.  I quickly found that not many people wanted to learn to program my robot because it required them to learn a language with this mental hurdle that only a few engineers were familiar with.

For my next robot we put in a BASIC interpreter.  BASIC at least was based on regular arithmetic expressions.  We sold quite a few of these motion control systems, but what generated more interest was when we put a GUI front end that looked like a spreadsheet.

You see, much more people are familiar with spreadsheets than programming languages.  It was the only motion controller for a robot at the time that was really easy to program by using a familiar metaphor.  What we did was to filter the technology to a wider audience.

I realized that the GUI I designed into the product had an impact on sales.  Imagine that.

My next project was another automation project aimed at a consumer with no programming experience.  To make the task more difficult the product only had a multi line LCD character display.  After our design team put our heads together we came up with what I think was a novel approach.  The use of Wizards.  Most product with LCD's, that I have seen, use menu's and setting that require the consumer to have some knowledge of where in the menu structure to find a particular setting.  Our concept was to first break down programming into TASKS.  We would have a wizard for each TASK.  Each wizard led the consumer by asking questions until a TASK was programming.   In addition, we created an underlying model that was similar to the existing products in the market.

It wasn't a perfect design, the small LCD was limiting, we were not able to customize the key layout, the consumer was led into fixed tasks, but it was an improvement over the existing products. 

You can always make the consumers programming task easier by limiting consumer choices.  Thats too easy.  You know your successful I think when you don't limit choices, but in fact have many ways to accomplish a task without making your customer think about how to accomplish their task.

Assume a consumer has never seen your product before or read the manual.  The consumer has pre-existing notions about how they might accomplish a task with your product based on their past experiences with other products, even those products that are quite different such as VCR's, iPods, Outlook, automobile cruise controls, ....  If you can determine those most appropriate notion(s) and make your design fit to create a metaphor the consumer might find your product easy to use because they already know what to do. 

A good underlying model, and a GUI metaphor, don't limit choices but expand the consumers uses.



admin4 at 7:07 PM |
(0) Comments | Add a comment | Permalink



 Friday, May 18, 2007


Innovation & Engineering   

There seems to be two ways (at least) to innovate.  I will let you decide which way makes more sense from a business standpoint.   I will not try to influence which way you feel is the better path to innovation.  The first way I call the 'propeller head' way.

Mark Lipinsky demonstrates the newest hatIn the propeller head method we look for interesting technology.  We then develop new products and ideas from these technologies.  Perhaps we apply these new technologies to existing products.  Once we find interesting applications of the technology we design products or demonstration systems using these technologies.  Products are designed for manufacture and prototypes are made.  Pricing is determined by the Cost of Finished Goods using standard markups.  Marketing creates sales material, and salesmen push the product onto the customers and sales channels.

The Apple I was developed using this method.

motorola peblThe second method I call the 'I just want to make money and I am not sure I really know what my customer wants' approach.  What enables this path is a desire to please and delight your customer.  In this method you first define what your companies and staff strong points are.  You next look at your customer and how they make their purchasing decisions.  You look to see how they are accomplishing their tasks.  You look to see how they are using your existing products.  You look for opportunities with the customers.  You look for new customers.  You look at your competitions customers.  You define your sales channels and explore new ways to distribute merchandise.  You haven't designed anything yet, but at this point you may start getting some ideas of where you could be going.  Before you even start to design you define what the price of the product will be and what the total sales will be.  At this point you can decide if and how you might protect the product with patents or trade secrets. To create patents you know what are the existing IP.   Finally, with this information in hand, you then can then start to define how the product might be implemented and all the drawings and paperwork required to make it.  You can make suggestions on technological improvements and cost reductions because now you have defined your customer.

Do you know who your customer is? ...And how well?

Finally, I want to add, the "I just want to make money..." approach does not have to be some big marketing program.  It could be as simple as watching the step's that production goes through in burning in your existing products.  That might lead to changes in how the firmware boots up.  That is a worthwhile task.



admin4 at 9:23 AM |
(11) Comments | Add a comment | Permalink



 Tuesday, May 15, 2007


Innovation   
Companies must constantly innovate or they will lose market share and be passed by their competition.  What the consumer sees and feels is the user interface and affordances of the device.

One of the current issues with technology is that the Personal Computer industry is not innovating (with the exception of Apple).  My prediction is that if the PC industry does not start innovating, the PC will morph into new products offered by the competition and the industry leaders, Dell, HP, etc, will lose market share.  I found that this opinion was recently supported by Rich Templeton, the CEO of Texas Instruments in a recent interview.  TI supplies chips to these segments of the industry.  Mr. Templeton is right in the middle of this market.

richtempleton.jpg[Rich Templeton] ... And I put that up there in contrast with the PC industry. PC companies invest what amount of their revenue in R&D?

[Interviewer] The biggest ones, not very much.

[Rich Templeton] The fact is, if it's a point or a point and a half, that's very little. And so when people sit back and ask why there isn't anything new, it ought to be an obvious answer. The PC companies aren't investing. When I say I think it's wonderful that there are companies like Apple (AAPL) investing in R&D, improving the user interface, new features, [and] companies like Nokia, Ericsson, Motorola all working on R&D, that's all good stuff because when those people are doing that, it's going to lead to new ideas and growth. And the last time I checked, chip companies can't grow if the people they sell to are not growing accordingly.

[And engineers can't grow if their companies are not growing. - Damon ]



admin4 at 10:58 AM |
(1) Comments | Add a comment | Permalink



 Friday, April 20, 2007


The Unconnected Masses   
OEM_Notebook_Computer.jpgPark Associates, a Dallas-based technology market research firm, said 29 percent of U.S. households, or 31 million homes, do not have Internet access or do not intend to subscribe to an Internet service.  The main reason they do not subscribe to the Internet is because they perceive low value to their daily lives rather than concerns over cost.
  • Forty-four percent of these households say they are not interested in anything on the Internet.
  • Twenty two percent say they cannot afford a computer or the cost of Internet service.
  • Seventeen percent said "I'm not sure how to use the Internet".
  • Fourteen percent gave the response "I do all my e-commerce shopping and YouTube-watching at work".
  • Three percent said the Internet doesn't reach their homes.
The study found U.S. broadband adoption grew to 52 percent over 2006, up from 42 percent in 2005. Conversions from dial-up and new connects were split roughly half and half.

In another survey it was found that the percentage of Apple computers on the desktop has increased to 5%!  That is a significant finding.


admin4 at 8:20 AM |
(1) Comments | Add a comment | Permalink



 Friday, March 09, 2007


Sun Tzu on Management   
SunTsu.jpgBefore anyone criticizes me on being a war monger, READ THE BOOK. Sun Tzu's "The Art of War" does not advocate war. It is about winning. He believed war to be a costly endeavor as a path to winning.  Sun Tzu believed that anyone who relies on war will perish, as well as anyone who is a pacifist will be extinguished.  He lived in a violent time.  Sun Tzu spent much effort in the book to convince the reader that the first choice was always to win without fighting and offered many strategies. On the other hand, the state often is confronted with no other choice but to defend itself, and Sun Tzu said you better be prepared, or else face a dire consequence! Often his strategies are debated, but they are always discussed.  As a reference for management and winning in a corporate culture I find it has excellent advice.  Personally, I do not agree with all 13 of his points, some of them don't seem to translate well from military to corporate strategy, some are rooted in Chinese culture, and some are only hints of a deeper more involved strategy.

In eastern cultures "The Art of War" is required reading for corporate executive.  It has even caught hold here in the US.  Tony Soprano admitted to reading it in an episode of "The Soprano's".  I could write lab note after lab note on my interpretation and how it applies to western corporate management.

My quick version of a famous Sun Tzu story.  This is not in his book, it is in another book of the same era that offers a biographical passage.

Sun Tzu lived in 6th century BC China.  He caught the attention of the emperor who was in the middle of a war.  As a test of Sun Tzu's teachings the emperor gave him 180 of his women to command.  Sun Tzu commanded the women but they did not respond.  They giggled.  Sun Tzu had the emperor's two favorite concubines (who were the generals in this female army) beheaded!  The emperor tried to stop Sun Tzu but he responded that he was given a commission and was entitled to run his army the way he wanted.  The women were beheaded.  The women then did as Sun Tzu bid, marching in formation, etc.  The emperor then dismissed Sun Tzu after this demonstration was over.

Sun Tzu pointed out that at this point the women would walk on hot coals for him.  Sun Tzu believed in rules, regulations, strong command, and the "dao".   He understood the cost of war in terms of money and lives.  The emperor did make Sun Tzu his general after this and he went on to become a legend in winning campaigns for the state.

At the very least you must agree that Sun Tzu was effective.  One often overlooked aspect of this book is that Sun Tzu taught that you must take war, being a general, (or your vocation) seriously to win. When the emperor gave Sun Tzu women to command, he was doing it lightly, possibly in jest of Sun Tsu.  When Sun Tsu had the two women beheaded he showed that this was a serious matter, that war is not to be taken lightly but is the most serious matter of the state.  Basically what Sun Tzu told the emperor, to his face, was that war is a serious matter and that the emperor was unable to accept this.  The emperor was not serious.  


admin4 at 2:22 PM |
(5) Comments | Add a comment | Permalink



 Wednesday, February 14, 2007


Sales: Give People what they Want   
register_1.jpgIt sounds like an easy idea. Give people what they want.  It sounds easier than it really is.  If you can give people what they want I guarantee that you that any engineer will be successful in any business. The first step is listening to what the customer wants.  The second is to actually give it to them.  These are not always easy objectives.

A few years back I had a small company and we were selling electronic based products for the educational market. I really respect sales people for the job they do. I learned something trying my hand at sales.

One of the things I had to work at is to really listen. This listening issue is an issue of communication [more on communication in another lab note]. Working against the salesperson and engineer is that the customer may not be the greatest communicator. Therefore it is up to the salesperson and engineer to become a better listener.

Sometimes the customer tells you exactly what they want, and sometime you have to get it from them. That is one of the defining characteristic's of a great sales person, in my opinion. Great salespeople know how to listen.

Is it important for an engineer to understand sales? Not unless your employer does not expect to get paid for the items you design, or if the product is not intended to be used. The worst thing an engineer can do, and the most likely thing a new engineer will do, is to give the customer what the engineer wants them to have. That is why engineers need to listen to customers and salespeople.

It seems very common for a new engineer to extrapolate their own needs into some other (imaginary) larger market need instead of listening. It may be that listening is harder than guessing what the customer wants. [continued]


admin4 at 1:13 PM |
(1) Comments | Add a comment | Permalink



 Wednesday, February 14, 2007


Sales, Give People What they Want [continued]   
[...start of this lab note]
Tie_Mid_Blue_SM.jpgOne quick story. When I was first trying my hand at sales I approached one of my competitors and we had a nice discussion about the educational market. I recognized him for how successful he was and asked him for his advice. He said something that I will remember till this day, more than 20 years later. He said "Damon", then he gave this long dramatic pause. I knew he was going to say something profound. He then waited a few seconds; it seemed like an eternity. He looked me straight in the eyes (salespeople do that to unsettle engineers I think, they know people well). He continued on, "When someone asks you for a blue tie, you give them a blue tie. Not a red tie or multi-colored tie. A blue tie."

It's taken me time to understand that simple advice.

The first lesson is the obvious. When a customer asks you for a particular solution/product, give it to him. It is a mistake to be looking to generalize a product into some larger abstract market solution.  My most common desire back then was wanting to design a product that solves everyones problems all at once.  I now believe that most people, before they go shopping, have some vision of what they want to get (not counting impulse purchases). They are going to purchase the product that best fits that vision at the best price and probably not some high priced monstrosity that claims to do everything.  This is particularly true in business.

A second lesson is also obvious.  Give people what they want, not what you want them to have. Don't try to second guess the customer.  Assume the customer is intelligent and knows what they want.  Don't assume once they see some alternate solution they will realize they were wrong and buy into your solution.

Another lesson: Giving people a blue tie is not that simple. There is no need to create a larger problem to solve. The simpler product is a difficult enough problem as it is! What you need to get into your head is that the best thing you can do is to give the customer the best blue tie at the cheapest price you can. There will be enough work in figuring out what blue, and what makes a tie a tie, etc.. After you figure those things out you have to integrate the two together, blue and tie. Then, possibly, you need to create a system to mass produce it. It is easy to underestimate the enormity of the problem.

Sometime the customer is savvy enough to give you a spec. Listen to it! Read it! You are lucky to have that spec. It makes listening so much easier. Realize that any deviation from the spec will cause an issue that needs to be addressed, and questions are not a good thing.

Finally, recognize the customer has told you want they want. 'All' you have to do is to give them what they want and collect their money. Realize that from this point forward you can muck up a sale. Be careful.

Really listening is not easy.


admin4 at 1:10 PM |
(0) Comments | Add a comment | Permalink



 Friday, February 09, 2007


What's more important, the Question or the Answer?   

This is an important point I believe for an engineer to understand.  Follow me on this and don't laugh.  I believe the questions are Raffael_068_Pythagores.jpgsometimes more important than the answers. 

Sometimes the answer flows, or can be deduced from, the question.  Sometimes it's the question that is the real 'eureka' moment.

Suppose for example you manufacture a device that is dangerous if people or animals touch it.  A real eureka moment might be when you ask the question "How do I protect people from touching it if when they touch it its' too late (they get shocked or worse)?"

Now ask any engineer that question and they may come up with many solutions.  For instance, proximity detectors or motion detectors.  Or how about detecting disturbances in the electric field?  There are now $1 chips to do this.  These solutions are non-contact methods to detect the presence of people or object before they become an issue.

Now consider you are a manufacturer and implement this solution in your next product.  What happens next?  If it's successful then all your competitors follow suit.   They now also recognize the question.

This is a case of where the question is more valuable than the answer.  Unfortunately the US patent office does not allow protection of the question, only the answers, and that's a whole 'nuther story and a whole 'nuther future laboratory note entry here on damon4.com.



admin4 at 12:19 PM |
(4) Comments | Add a comment | Permalink



 Thursday, February 01, 2007


Using the Serial Port in Visual Basic 2005 event driven   
In Visual Basic 6.0 handling a serial port (or comm port) event was simpler than in Visual Basic 2005. That is because in .net 2.0 the event exists on a secondary thread. You can't access any objects ( timers or GUI elements) from the event because they exist on the primary UI thread. To do this you need to make an asynchronous call to a delegate procedure from the comm port event.  The following procedure works for all of Visual Studio 2005.

If your like me you have been searching for a solution to this issue. I hope you stumbled here and this helps. Use this:

Delegate Sub UpdateUIHandler()

Sub UpdateUI_Impl()
' delegate to update user interface controls from primary UI thread
' put any code to update the UI from serial data here

End Sub

Private Sub SerialPort_DataReceived(ByVal sender As Object,  _
      ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)_
      Handles SerialPort.DataReceived
      ' this is the serial port data received event on a secondary thread

      Dim buffer As String
      Dim handler As New UpdateUIHandler(AddressOf UpdateUI_Impl)

      buffer = SerialPort.ReadExisting
      ' invoke delegate on primary UI thread 
      Me.BeginInvoke(handler)
End Sub


admin4 at 3:28 PM |
(11) Comments | Add a comment | Permalink



 Thursday, February 01, 2007


On Product Specification, Imagination, Communication   
imagination.jpgOn the way to work this morning I worked out this lab note in my mind. I was thinking about why I, and most engineers and software people, find engineering and software design so interesting. The most interesting part is imagining a product, and then seeing it become real.

I think we all love to imagine from when we are very little. I remember when I was little I would play army with my brother Michael. When we would imagine and play and I was in a totally different place. The difference between then and now is that now my imagination needs to be more integrated with reality and practicality.  A good imagination is of immense benefit to an engineer or programmer.
 
I like to imagine what a product could be. I like to imagine different ways of expressing the product. I like to imagine, and this is important, all the steps involved in using the product. How I am opening the package, and installing or plugging it in. I imagine others using the product. I imagine me telling someone what the product is or does. Sometimes the product has popped up in my dreams.

I do not have the luxury of free reign in my product design for work.  I design products for people and companies. I need to obey the laws of physics. I need to make money to pay my families bills. Its reality. Therefore my product (and imagination) has design constraints.

The final part of this fun imagination ride is communicating what is in my mind to other people. The only way to make the product become real is to communicate it to other people, unless you want to do everything yourself.  Doing everything yourself is viable for a few people.  The reality is that you and me will be working with co-workers, clients, and/or sub-contractors on a product as part of a larger project that is multi-disciplined.

That is why a product specification is so important. It is a communication as to all the details that will make up the product. It should leave no detail uncovered, you never know how it will turn out otherwise. The product specification communicates to the design team, clients, management, marketing and salespeople. It communicates to quality control and manufacturing what you plan to do. It is important that you paint a picture in peoples head of what is in your head. Everyone needs to have the same target.

The product specification usually is a team effort. Individuals on the engineering team are responsible for different aspects of the spec, but usually one person is the 'keeper of the spec'. When I have written product specifications the mere act of doing so and organizing my thoughts always leads me to new views of the products and to fill in details the team did not think of otherwise.

The product spec is also important because in design and engineering it is very difficult to hit a moving target. If a spec is complete and your client comes to you halfway through the project with a major change you both know what the initial agreement was with good product spec.  Finally, the product specification will be used to define the scope of the engineering effort.  Schedules, milestones and deliverables will be based upon the scope of the project.


admin4 at 8:24 AM |
(0) Comments | Add a comment | Permalink



 Friday, January 26, 2007


The Demand/Supply Chain   
My previous lab note dealt with the demand chain.  The demand chain can be broken down into various marketing channels.  An engineer or programmer should understand the marketing channels of the company they work for and how they are pertinent to the design of their product.
marketing channels.jpg

A Company may have may marketing channels for its customer.  This is part of the companies supply chain, and your customers are within these channels.


Also pertinent to the design of a product is the supply chain.  This includes all the entities that are involved in getting your product manufactured.  There might be printers and machine shops, distributors, and other manufacturers.  This might also include your companies inventory.  As an example of this your company might already inventory a particular type of memory chip for installation in another one of their products.  This might create a supply side design constraint on your product.  The company may be reluctant for you to specify a different memory chip if the one they currently stock will suffice.

When designing your product or software there are constraints.  All these constraints can be thought of as either demand side or supply side design constraints.


admin4 at 9:10 PM |
(1) Comments | Add a comment | Permalink



 Thursday, January 25, 2007


Who is your customer? The Demand Chain.   
When your company goes to sell the product you have designed or written someone is going to buy it. That someone is probably your customer. I say probably because it's a little more complicated than this and understanding this is pertinent to you doing your design job.

It is important to understand the business demand chain. When a product leaves the manufacturer there may be quite a few other hands the supply chain.jpgproduct has to go through before it reaches the customer. Some of the people that may be in between are as follows: distributors, retailers, plumbers, electricians, home builders, architects, OEM's, resellers, importers, exporters, doctors, hospital purchasing departments, delivery people, air cargo, salespeople, ...   Do you think it matters what they think about your product? You bet. There may be several people in between your manufacturing and the end user. You can bet that if any one of them finds an issue with your product that it may hurt sales or even be an obstacle to sales.  Because of this each one of these people can be considered 'your customer'. 

As a concrete example suppose you are tasked to design a computer controlled faucet. We might both agree that the operation should be simple for the homeowner. We should also have a product that is simple to install. In other words the initial programming of the faucet should be dead-nuts-simple because a plumber, who probably never took a programming course, will probably be installing it.   He's not going to recommend it to the homeowner if he does not understand it.  This product has to pass muster with at least two people, the plumber and the homeowners.
 


admin4 at 1:41 PM |
(5) Comments | Add a comment | Permalink



 Saturday, January 20, 2007


UI Design concepts   
One of the basic concepts that programmers use when realizing a UI design is to recognize that the customer does not want to use a program for its' own merit. Most often the user wants to accomplish something ... and they paid you to help them. This leads to some basic  overall principals of UI design.

1. The customer should accomplish the task he or she wants as quickly as possible.

2. There should be as few distractions as possible to the customer accomplishing his or her task, or recognize how to accomplish their task(s).

3. The UI should bend toward the way the customer is accustomed to performing their work rather than requiring the customer to learn a new way of doing their business.

4. Since the customer has particular task(s) to accomplish the software should be designed toward those tasks.

5. Choices are good and bad. Choices can give a customer empowerment. Choices can also be confusing. The choices that are presented are a critical element, as critical as any underlying mathematical algorithm.

The software is an important product. Yet the customer does not want to know its there. The programmer has done his or her job when the software is so easy to use it is taken for granted. The programmer makes the UI design 'look easy', yet a significant amount of effort is expended to make it look that way.

A few years back I was working on a consulting job to design a robot to help in field work for the local utility company.  My business partner, Ed, suggested I spend time with the linemen 'on the job'.  At robotarm.jpgfirst I thought this was a little extreme, but I soon changed my mind.  I actually spent a couple of weeks as an intern working and doing the actual tasks of the linepeople.  This experience was invaluable in understanding the customer, their tasks, their challenges and problems.  Every morning at 7 am the line crew met.  I was able to see that they were intelligent, hard working, and wanted to do a good job.  Most did not have a college degree but were educated, some had big hands and all wore these huge clumsy gloves, ... and so on...  We had a profile of the user. 

   I experienced some of the tasks that they were asked to do on the job.  They wanted to get each of their tasks done quickly and move on.  We were able to see the steps required to accomplish the pre-identified tasks the robot was expected to be integrated into, and to identify new tasks and increase the products value.  The experience of 'walking in my customers shoes' was invaluable to our design (and by the way, those shoes were big, heavy, steel tipped, leather, work boots).  It also showed my direct customer, the guy paying my bill, how concerned we were in doing a good design for him.

Understanding the tasks and customer is key to a good UI and product design.


admin4 at 1:39 PM |
(1) Comments | Add a comment | Permalink



 Saturday, January 13, 2007


Warner Brothers and the Blue-Ray vs HD-DVD war   

This week I attended the CES show.  I have been thinking of what type of lab note I should warner-brothers.jpgenter here when luck landed right in my lap.  Luck has been good to me here in Vegas. By coincidence I had dinner tonight at the Japanese restaurant at the MGM and seated next to me at the sushi bar was an executive from Warner Brothers (a division of Time Warner).  We talked about CES.  Warner Brothers debuted at the show a dual format HD-DVD and Blue-Ray disk.  On one side is the Blue-Ray format and on the other side is HD-DVD!  Many of the other studios and retailers are VERY interested in the format .... EVERYONE ELSE (the electronics manufacturers) is upset at them!

Let me explain why.

Think about who wins.  First you need to know that Warner Brothers has a patent on this new disk format. The rest of the industry is about split on support of the two formats.  Both sides (Toshiba camp and Sony camp) have poured tons of money into winning.  In one fell swoop Warner Brothers has made both formats a commodity.  It does not matter which player the consumer purchases.  The consumer can, and will, purchase the cheaper player if the disk will play on either one!  Think about poor LG electronics who spent a ton of money to develop and launch at CES a dual format player which will retail for $1200.  There is no need for the consumer to purchase that now.

This dual format disk has gotten support from the major retailers (Circuit City, Best Buy, Amazon..) and some of the other major studios.  In addition Warner Brothers is claiming they can also include standard format DVD on the same disk sometime in the future.  It looks like they certainly have shifted the momentum toward their direction and the ensuing royalties.

Oh, one prediction before I end this.  Expect much negative PR about this new dual format disk from both the HD-DVD and Blue-Ray consortium's. They got a lot to lose.

[Update 1/17 - I have found out the actual recording mechanism is more sophisticated than one format on each side.  The formats are actually laid on top of each other in different depth layers. I was probably getting a novices description but it's irrelevant to the point of this lab note.]



admin4 at 1:02 AM |
(0) Comments | Add a comment | Permalink



 Thursday, November 30, 2006


What is a Watchdog?   
Watchdog's can be an important part of a product.  Understand their benefits by reading this article:  What is a Watchdog timer.


admin4 at 8:15 AM |
(2) Comments | Add a comment | Permalink



 Tuesday, November 07, 2006


What is RSS and Syndication?   
I don’t want to make this entry too long. It’s not going to get technical. I have been trying to think of how I would explain RSS and Syndication to someone totally computer ignorant. I came up with the following. There are other ways to use RSS but this is the most common.

Do you remember way back when you were a little tyke on Sunday mornings? The newspaper would come and dad would pick it up to read it? Mom would ask dad to separate the circulars, entertainment and ‘living’ sections. You would ask for the comics. Your brother or sister would fight you for them. When you got older you also would ask for the sports section. The newspaper would never go back together the right way, IF you could find all the separated pieces.

Now let’s fast forward to 2006. Through the magic of RSS you can customize and receive only the news subjects you are interested in and in the order you want as it happens. There is another major earth shattering change that this brings. Imagine that ANYONE can be a publisher and deliver news as effectively as any major newspaper or magazine! No longer do you need a huge investment in publishing and distribution! Finally, as an RSS subscriber you can get your news IMMEDIATELY! Why wait for the next morning to get election polling results or commentary. Get commentary on election events AS THEY HAPPEN!

If you want to subscribe to an RSS news feed you need a news reader. There are many news readers on the internet. The one I happen to use is my.yahoo.com . When you open a my.yahoo account, and it’s free, you can customize one or more pages. On each page you can customize headlines from any RSS source on the globe. Every morning I open my page to see the news from Reuters, AP, PC magazine, and my favorite blog’s.

If a web page publishes RSS it is indicated by an icon as thus: rss_icon.gifPerhaps you will customize your own news aggregator page and subscribe to the newsfeed from this blog, www.damon4.com .


admin4 at 3:07 PM |
(1) Comments | Add a comment | Permalink



 Wednesday, September 27, 2006


BACKUP YOUR COMPUTER   
You should have a backup strategy for your computers hard drive.  If you are like me you keep Photos, Videos, Music, and Documents on them.  You use your Internet Browser to pay bills, and mange your life.  You must plan on your hard drive failing.  I have written a must read: A simple backup strategy.


admin4 at 11:43 AM |
(0) Comments | Add a comment | Permalink



 Monday, July 10, 2006


Odd tech items   
Firefox Beta 2.0 can be downloaded here.  Firefox is the leading brower behind Internet Explorer.  It has a 15.82% market share.  That is a significant achievement given Microsoft product intertia.

Beta 2.0 will disable all your themes, extensions and personalizations from existing V1.5 installations.  Download Firefox Portable version to keep your existing Firefox 1.5 installation intact.



In other news Freescale has developed a new memory technology, Magneto-resistive Memory Technology, or MRAM.   I am not drawing any parallels but when I was reading about MRAM I was reminiscing about bubble memory.  Remember Intel Bubble Memory? 


admin4 at 8:28 AM |
(1) Comments | Add a comment | Permalink



 Friday, June 23, 2006


Pinmod Overclock a FAILURE   
Oh well, at least I did not fry the 600m.  Resulted in no difference that I could tell.  I removed the jumper.


admin4 at 2:02 PM |
(0) Comments | Add a comment | Permalink



 Friday, June 23, 2006


Hard drive & CPU upgrade results   
The upgrade went well.  Everything now boots.  The results are as follows:



Before Upgrade
After upgrading hard drive to 7200RPM Hitachi Travelstar
After upgrading Hard drive & CPU to 1.7Ghz P4M

Time to boot to see desktop

1 ' 45 "
45"45"
Time to see desktop and all the icons in the system tray load

3 ' 45 "
1 ' 10 "1 '











I want to try the pinmod to overclock the CPU next.  'Pinmod' is a jumper you can put on a Centrino CPU to overclock and get a faster speed than Intel intended.   I am pretty sure it will be a failure since I believe the 600m has the 855 chipset and not the 915 chipset.  I believe the 915 chipset is needed to overclock because you wind up with a 533Mhz system bus.


admin4 at 5:45 AM |
(0) Comments | Add a comment | Permalink



 Wednesday, June 21, 2006


New Laptop Hard drive and CPU   
Yea!  I won an Ebay auction for a Pentium 4 M (centrino) 1.7 Ghz processor.  I decided that I will spend no more than $200 to upgrade my laptop and see how much performance I can get for that.  I will upgrade my 600m this weekend.  Everyone is telling me don't do it, that I will wind up with something worse.  I think not.  It sounds like a do-able project.  I have Dell instruction sheets on how to change the CPU.  I am expecting at least a 25% improvement in speed.  Not much really. The auction cost me only $72 though.

Also got my new Hitachi Travelstar 2.5" hard drive for the notebook.  That I do have high expectations for.  I am expecting a doubling of speed.  The two big issues for me are boot time and turn off time.  Also of issue is the time to say load Firefox (which is pretty quick already I think), and the time to connect to the internet through my bluetooth and thru the 802.11b.  I will benchmark my 600m before and after and document it here.

Total invenstment is $175 for hard drive and CPU.


admin4 at 6:10 AM |
(0) Comments | Add a comment | Permalink



 Friday, May 26, 2006


Proxy Servers   
    king saud.jpgDid you know that all the Internet that goes into Saudi Arabia is filtered by eighteen proxy servers?


admin4 at 12:26 PM |
(4) Comments | Add a comment | Permalink