 This is the laboratory notebook of Damon Bruccoleri. Here you will find engrossing, thoughtful and fun commentary/opinion on life, the world, and everything you should be interested in. Leave a comment and let others know what you think about any post here, view my photo gallery, or sign my guestbook.
|
|
|
|
|
Friday, April 18, 2008 |
This laboratory note is me airing one of my gripes I have had for the last 28 years, but I will make this an interesting story so you don't get bored.
I am a firmware engineer. Typically there are many other engineers of various disciplines on one of my projects. When I write my code I am very careful. Firmware bugs are very costly to a corporation and the farther down the line you find them, the more costly they are.
One time in particular an engineer put our machine in his system and started things up. The machines diagnostic computer reported an error condition. This engineer then came to our team and declared that the machine we built is not working properly and there is a firmware bug. Do you see the problem I am having here?! Let me explain by way of a story.
My beautiful wife is Asian. The other day we went to a Chinese restaurant. An authentic Chinese restaurant and on the table the only utensils provided were chopsticks. My wife does not use chopsticks, she prefers a fork, knife and spoon. In fact she has never used chopsticks and wonders why I do when I go to these restaurants (that is another story). So she asks the waiter to bring her a knife, fork and spoon. The waiter goes away for a little while, comes back, and places the utensils in front of me! She was the one that asked for them!
Now do you see the similarity with my problem at work? How the heck has that other engineer determined there is a firmware issue? This 'assuming' has been a recurring theme of over the last 28 years of my career. Possibly the bug is a firmware issue, at the very least we need to investigate these problems first.
Part of the root of the problem is that it is easier to fix a problem in firmware rather than hardware. Sometimes there is some issue and the engineers find a way to fix it by working around it in some way with a firmware change. The engineers look to find a firmware fix first because its easier to email a solution to be burned into the machine 'on site' then to spend money and time on round trip freight for a 1/2 ton machine. Plus a new PCB or whatever. The problems we fix in firmware could have originated anywhere, even in the specification given to us by the customer, or other parts of their system.
This is the first problem. What the firmware people have to deal with is that because of this habit of fixing things in firmware first there has developed a perception that the firmware team does not meet their design objectives because we are sending firmware updates even if the root cause of the problem is not a firmware issue. In the customers mind (or any non-team members mind) the firmware gets 'blamed' first out of past experience. The solution has always been a firmware update.
What I would like to see is other engineers approach the firmware team and say "We are having a problem with the product. We don't know exactly what or where the issue is. Could you lend your expertise in tracking down the issue."
Do you think perhaps we could get that waiter to read my laboratory notes? |
damon at 4:54 AM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Thursday, March 27, 2008 |
| How to find a short on a Printed Circuit Board (PCB) |
|
When 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.
Ed 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 |
(4) Comments |
Add a comment |
Permalink
|
|
|
Friday, February 15, 2008 |
| Simplifying the Programming, Concrete Example |
|
I would like to offer a concrete example of simplifying the programming of a product. Years ago I was privileged to be given the opportunity to realize the programming and design of a home automation controller. This was the DHC Toscana home automation controller, still being manufactured by Leviton Mfg. Co.. When we first sat down with management, marketing, sales and all the other interested entities at that company I was literally buried in the number of features on this product. One of the other senior engineers and software guru's there, Dr. Michael Ostrovsky, helped me along and gave me a simple suggestion that cut my project in half!
To understand his suggestion I have to give you a brief technical description of the product. As you can see from the picture the device has a number of buttons and user interface elements to control lights, fan's, switches and other electrical devices you might find in a home. It also has a communications interface where it can receive remote commands from other interfaces devices in the home to control the same electrical devices. Therefore, an engineer might think he had two intertwined overlapping tasks to accomplish. First would be to control the electrical devices from the unit's front panel and transmit that command to other keypads in the home. The second task to control those same electrical devices from the commands received over the communications interface. The contention that could develop from controlling the same devices from several inputs is a classical problem. Mike suggested a better way. Mike was old school, Mike was from Russia. He knew how not to do the same task twice.
He suggested I split my project into two simpler tasks. The first was react to one of the front panel switches being pressed and to transmit the appropriate command indicating this on the communications interface. The second, separate task, was to receive a command over the communications interface and to turn on the light, fan, device or what not. To complete this scenario I had to let the device receive its' own commands, the one it just sent out! This way I only had to debug two separate smaller paths, that were more or less independent. |
damon at 9:53 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Friday, February 15, 2008 |
| My 1 best secret to Great Software |
|
Recently I have been thinking about the projects I have been involved with and what helped them become sucessful. I think I finally have something to report to you here in my laboratory notes as to MY 1 best secret to sucessful software.
My first thought was to look at the details of programming languages and techniques. I then thought about on a higher level how the architecture of the software was more important. Then I figured that even more important than architecture was the project management. I think I finally have a root cause to successful projects. Keep the project 'simple.' Now that word is a relative term. The exact nature of 'simplifying a project' depends on the skill of the software team. Second, it does not follow that a simple project produces a simple product. Read On.
I have developed a basis for this claim that this is the 1 most important ingredient to a successful project. As the number of requirements in a project grow, the software complexity grows exponentially (albeit this is a simplistic view) as the following chart shows.

The trick is then to define the project in simple terms yet design a dynamite product. What I want you to think about is where you want to focus your effort: Eliminating elements from the X axis of the chart above or troubleshooting program paths on the Y axis.
|
damon at 9:09 AM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Monday, January 21, 2008 |
|
|
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.
About 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 |
(2) Comments |
Add a comment |
Permalink
|
|
|
Saturday, January 12, 2008 |
| The Deuce bus service Las Vegas |
|
The "Deuce" is the bus that runs up and down the Las Vegas strip. It's an inexpensive way to get from downtown to anywhere on the strip. I have a story to tell about the Deuce. I had chance to use it several time while here at the CES show.
First you need to know that the name "Deuce" is a triple entandra. The bus is a double decker bus, and a trip costs $2. Some Las Vegas civil authority must have thought it would be cute to name it that. Second thing you need to know is that whenever the bus stops a pre-recorded announcement plays inside and outside the bus. It announces "Ride the Deuce, Have Fun. Only 2 dollars one way, 5 all day."
I want you to know about a couple inaccuracies in that announcement. The bus IS NOT $5 all day. It is $5 for 24 hours. Twice when I got back to my room I threw away the bus pass thinking it would be invalid the next day. So there, reading damon4.com just saved you money.
A second inaccuracy is tha the bus IS NOT fun. It IS pleasurable. It's clean. It is usually on time (they run every 20 minutes and run extra buses during heavy traffic). I must have rode that bus a dozen time waiting for the 'fun'. The most fun I had was watching people hit their heads as they sat in the lower level seat's on either far left/right side of the bus. There are low ceilings in these double decker buses, so watch your head!. The bus (and drivers) is a real pleasure to ride; what a bus should be.
The civil authorities in Vegas who run the bus service should rethink that 'fun' part of the message. I would also like them to consider adopting a different slogan. Instead of the "Deuce" call the bus service "A Nice Pair". So you would have the same double entandra PLUS a whole new set associations to work with! Viva Las Vegas! |
admin4 at 10:55 AM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Friday, January 11, 2008 |
| Ultra Wide Band (UWB) at CES |
|
There were a number of companies showing Ultra Wide Band at the show. On display was silicon, modules, and finished products. Two applications for UWB are for pumping HDTV around the house and for wireless USB. With USB it can go the full 480 MB/s spec. With HDTV it is unclear to me if it can replace an HDMI 1.3 cable. That is rated at 10.8GB/s.
At my work we have application for UWB as a high speed cable replacement. I found at least one module vendor willing to talk to lower volume manufacturers. |
admin4 at 11:23 AM |
(1) Comments |
Add a comment |
Permalink
|
|
|
Tuesday, January 08, 2008 |
In my previous note I said I do not understand the application for the Microsoft Surface. I want to explain a little more about it. They say the hardware is a 30" (at least screen). It could be mounted in any orientation. They use projected DLP. Also under the display are five infrared cameras as sensors. The cameras are necessary to pick up the multi-point input. The Microsoft sales person said it does not have to be one person inputing gestures, could be several. Applications we discussed were as a kiosk in a retail store where a customer could customize a snowboard virtually. We discussed how this could be used for video games or recreation. It could go into a board room as the board room table. I chimed in that it could be applicable for a draftsman, and the salesperson agreed.
Next I asked if this would appear on a tablet. The Microsoft guy could not see how since the hardware did not seem compatible. He did not rule out that some new touch screen interface could be invented, or admit if it already had been invented. When I mentioned the IPhone he immediately stopped me. Said it was apples and oranges. The IPhone touchscreen is a capacitive technology and has some limitations as to the number of inputs.
I stand by my last opinion. The surface computing seems to be gimmicky. If Microsoft pushes it, it will have some success. I don't see any market pull. I also think they need to further develop along these lines. With some different hardware the software might make a package more appealing. Who knows what could come along in the future? |
admin4 at 8:00 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Sunday, January 06, 2008 |
| CES, Bill Gates, and the music industry |
|
I am writing today from CES. I met a few interesting people, and I learned something. One guy I met works on a drilling rig and runs the automated sub that helps the drill team. A lady I met is a producer at MTV. Another group of people I met run a radio talk show about technology. Mr. Carol D'Andrea, their on-air producer, is real personable, always has a smile or laugh, and is very interesting. I find most highly intelligent people are like that. I hope they become syndicated here to NY so we can enjoy their program. Another interesting guy I met was Bill Gates. Well..., I actually didn't meet him, he gave the keynote. So I kinda met him if you ignore the 150' between us, security guards, and his stage. This was his last keynote. He's retiring. It was also the most interesting keynote he has ever given, and highly produced. There were many different visions and products his team introduced.
Microsoft introduced a new aspect to their Zune player. Using 'Zune Central', you can now look at what your friends have been listening to as well as keep track of what you have been listening to. Assuming that you have friends with similar tastes as yours, and your friends have friends, you quickly see how a band or piece of music can be promoted in Internet speed by the six degrees of separation concept. Clicking on a track takes you to the Zune marketplace where you can purchase the song or album.
Two other products I saw were the surface computing device and their Home Server product. The Surface Computing had a touch screen interface, no keyboard or mouse. The touch screen can understand multi-point gestures. The claim is that the product will be released in a few months and will appear in retail stores real soon. The demo they gave was for customizing a product for purchase, virtually on screen. Everyone appeared excited about this product, but perhaps I did not appreciate the application because to me, it just appeared like a gimmick.
I can see the application for their Home Server. It is a central point where you can store you photos, music and videos. From it, you can stream videos to the various PC's and to the XBOX 360. It allows you to manage all your PC's remotely from a central location (including recalling restore points), and backing up the PC's. The server itself uses multiple disks for its own backup. They are not using RAID. They claim they have a better way. The home server lets you set up to 10 user accounts to allow remote internet access to your home server. It does not include IIS. They told me an advanced user could install IIS and serve pages as well from the server. You will still need an additional set top box from your cable company or satellite provider.
Home Server is a new product. I predicted a home server last year. Microsoft still has a way to go. There is so much more value they could offer a consumer with a product such as this. They have an ISV program to offer add-ons. If I were an ISV, I would be careful of being Microsoft's free research department. If you know what I mean. |
admin4 at 10:49 PM |
(1) Comments |
Add a comment |
Permalink
|
|
|
|
|
|