 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, view my photo gallery, or sign my guestbook.
"...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
|
|
|
|
|
Thursday, July 02, 2009 |
| Computer Architecture class and Mano Assembler |
|
This spring I taught a comptuer 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 u sing 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 |
(0) Comments |
Add a comment |
Permalink
|
|
|
Sunday, May 24, 2009 |
| Vivian Ang's concert in Shanghai at Fudan University |
|
My cousin Vivian Ang is a Concert Pianist. She is on tour in Asia now. I have the good fortune to be in China when she gave her concert at Fudan University in Shanghai. Shanghai is only a few hours from Nanjing University of Post and Tele communications. She is wonderful and Fudan is one of the most prestigious universities in China. Click on the picture to be taken to my photo album of my trip to Shanghai with pictures of cousin Vivian (in case you can't guess she is my cousin from my wife's side). |
damon at 5:20 AM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Saturday, May 02, 2009 |
As an engineer you will commonly work with clients, managers, vendors and co-workers. It is your responsibility to provide your client or employer with the best advice you can on the engineering topics you are entrusted with. I have found that at times I have felt that I had a better direction in a design path, or even company procedures than the way things were going. Since you, as an engineer, are getting paid to provide your best advice, you need to bring this to the attention of those around you.
What are the best ways to achieve this? My advice is to approach this from an eduction point of view. I have always felt that if others had the same information I did, and they were reasonable people (which they invariably are), they will reach the same conclusion(s) as I did. Therefore I will not need to 'persuade' them. This takes more time then trying to force something down someones throat, but the payoff is immense. You will be viewed as someone to work with. Sometimes all you need to do is to provide a bulleted list of pro's and con's, or a decision tree, or a strategic graphic (a picture is worth a thousand words).
What if, even with your best effort at education, things still do not go 'your way'. Assess the importance of this decision or advice. Is it really a make or break direction for the company or you? In most cases I would think the answer is probably not. If not, take a back seat. Let someone else drive. You gave your best advice and best effort. Also, you may not know all the information yourself. Those you're trying to persuade may not want to put the effort in to educate YOU. Perhaps your direction is not the best. This may be particularly true if you are the new kid on the block. Things are the way they are for a reason. More than likely there is a whole history to the way people do business around you that you may not be aware of and will take time for you to learn.
Perhaps there are alternatives to what you're proposing that are almost as good. About the only additional thing I might try, if I felt THAT strongly about this, is another short, very focused, attempt at education. Then drop it. The worst thing is to be viewed as argumentative, then all that credibility that has built up is washed away.
There is another question you need to ask yourself. Is your goal to be viewed as right or is it to effect a new and better direction for the design or your company? Sometimes its best to let others take credit for your ideas and/or do things more quietly. On the other hand, perhaps it is an appropriate time to be recognized as being right.
I took a course once that dealt with some of these issues. The topic? "How to manage difficult people." Don't be one of them. Be effective. |
damon at 8:54 PM |
(4) Comments |
Add a comment |
Permalink
|
|
|
Sunday, April 12, 2009 |
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:
. 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.
This 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 |
(1) Comments |
Add a comment |
Permalink
|
|
|
Wednesday, April 01, 2009 |
| I got Aluminum Electrical Wiring |
|
I am staying at an apartment in China for a few weeks. The other day the circuit breaker to my air conditioner popped. I knew I smelt a funny smell coming from the breaker panel! It finally went altogether last night. Here is a picture of the breaker that the electrician pulled from the panel. When I saw this circuit breaker I knew I had a good visual and needed to write up a lab note for my web site. I saw the electrician do something smart after he pulled the breaker, he went and tightened up the screw terminal's for all the other breakers.
So whats the story surrounding aluminum wiring? Many houses that were built in the late 1960's and early 1970's in the US were built with aluminum wiring. Aluminum wiring was used because copper starting becoming very expensive around 1965. Copper is now so expensive that my friend Alan Triolo, who is an electrician, makes some significant pocket change by going to renovation site's, ripping out the old copper wiring and selling it (with permission of course). Another story comes to mind. A few years ago the state of Nevada was having a serious vandalism problem. The street lighting in some of desert locations was not working. It seems vandals were ripping out the copper wiring from the street lighting to sell.
One final story. When I was younger my family moved from Brooklyn to a nice, new, suburban home. That house had aluminum wiring. It was not until the 1970's that the issues surrounding aluminum wiring became well known. When we found we had aluminum wiring we lived with a lot of anxiety. Let me first try to calm you if your house has aluminum wiring. I have not been able to find know cases of fires caused by aluminum wiring. The few real problems seem to be related to incorrect installations. On the other hand there are real issues to be concerned with. You may not be able to get insurance unless this issue is taken care of. The potential for a real problem is very real as my recent experience shows.
You do not need to rip out all the wiring in your home, though that is a possible solution. Get a licensed electrician and talk over the alternatives. He needs to go through the electrical devices in your home and make sure that they are rated to connect to Aluminum wire at a minimum. Better yet, he can pigtail the ends of the aluminum wire with copper wire. And finally he should tighten any loose or suspicious terminal connections on all Aluminum rated devices. |
damon at 11:52 PM |
(1) Comments |
Add a comment |
Permalink
|
|
|
Monday, February 09, 2009 |
| 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.

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 PM |
(2) 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:

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.
 |
damon at 9:55 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Sunday, December 21, 2008 |
Don't ever let it be said that I can't make fun of myself. The other day my co-worker Guido took a picture of me at work on his iPhone. He has this new application he bought and he is driving all of us crazy with it. Actually its pretty neat and I can see it being a gas at a party. Anyway, here is the picture he took of me and the resulting caricature!
 |
damon at 10:16 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Sunday, December 21, 2008 |
Anyone who knows me knows I selected my car and phone for very specific interrelated purposes. I was trying to explain this a few times to people and I think the whole thing was just over their head.
One of the reasons I got my car was because the entertainment system offered the stereo Bluetooth profile, in additional to the headset profile, so I can pump high quality audio from my phone. On my phone, I got one of the many phones that now offer the stereo Bluetooth profile. My phone also has an application that lets me 'subscribe' to mp3 audio RSS feeds. Like the feed I offer on this site, but it has embedded the link to an MP3. This is called 'Podcasting". The end result of this whole thing Ladies and Gentlemen is that I am able to listen to podcasts during my commute with almost no technical or labor overhead. The last point is important to me. It needs to be automated for me. I just want to get in my car, turn on the stereo, and listen to the podcast(s). It pretty much works like that although I still have to enter a url of the RSS feed into the phone initially... but I can envision that changing over time too.
I will say that this is not run of the mill technology and most people do not even know they can do this or even are aware of all the great content available via Podcasts. Heck, I did not even get on the podcast bandwagon until recently. My friend Tom Alvarez has been telling me about "Cranky Geeks" podcast for at least 6 years now.
Why is this important to me? Because I am sick and tired of the drivel on talk radio or on radio in general. I do like audio books (on CD or MP3) but they are expensive and you have to spend time to find them and buy them.
So lets get back to the reason for this lab note. XM vs Podcasts. Not once, not twice, but three times I tried to explain how I listen to podcasts on my way to work when the other party asked me if I ever tried XM (or Sirius)! IS THIS THAT DIFFICULT TO UNDERSTAND! Broadcast is going away. You can stream any ip content, in high bandwidth, anywhere today! There are some caveats to this, but in general I will let that statement stand. |
damon at 10:01 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Monday, November 24, 2008 |
It is funny how a little ingenuity can trump a bucket of money. At lunch the other day we were discussing marketing and were reminiscing about a couple of marketing campaigns we were involved with. We had a new product we wanted people to know about. Our company, the company I helped start, had very little money as startups frequently do. Well, we got our first big order for this product and the company president decided that we should 'let the money ride. In his terminology that meant to plow the money back into a mail campaign to push sales. We hired graphic artists and had printers make a couple 100,000 brochures in a 5 color process. We purchased mail lists. We put postage on them and sent them out. Then we waited. The whole thing cost us a small fortune. Almost all the money we had. We took the advice of the marketing company we hired. We were not forced to do this. We were all in agreement. After about a month it became apparent that no one was going to call us. Is this what they mean when they say it's lonely at the top The material they developed was very professional, had some great graphics, but did not inspire.
There is a happy ending to this story. Like I said we spent almost all the money. We did have a few dollars left over for another tiny mailing. This time I had my friend Felecia Biondo draw a small black/white cartoon. (the postcard above is for illustrative purposes only, it was not our's) It was really hokey. It was not inappropriate (like this is). It had two frames, in the first were two guy's with balloons over their heads near a water cooler. They were saying something like "I wish there was someone who could solve my motion control problems." In the second frame I asked Felicia to draw an attractive secretary with a balloon saying "Why not call the boys at Intellisys. They can help". There was something interesting about the characters in the way she drew them. After reading, your eyes actually went back to read again. The message was simple and clear.
Guess what! We got quite a few responses from that cheap, 15¢, black and white postcard! Never let a lack of money stop you.
|
damon at 4:55 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
|
|
|