|
Monday, April 16, 2012 |
This semester I took a PhD level class on Software Engineering. The Software Engineer is concerned primarily with the Cost and Quality of software. One tool widely accepted for software development is Object Oriented Programming (OOP). There is some consensus that although OOP is satisfactory to create modular code, the typical practices and/or this tool of software professionals falls short of achieving its' objective in certain instances. Aspect Oriented Programming (AOP) is an additional tool to be used in conjunction with OOP to modularize 'software aspects' that would be difficult to modularize otherwise. For my specialization in this class I wrote a proposal to create an AOP based framework for Unit Testing. |
damon at 9:34 AM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Thursday, January 05, 2012 |
| Its easier to add to design then to take away. I think we should all look at our designs from time to time and ask how our evolving designs can be minimized and yet achieve the functionality requried. |
damon at 8:07 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Tuesday, December 27, 2011 |
|
|
Thursday, December 15, 2011 |
| Sine Oscillation Generating Method Comparison Chart |
|
Found out two interesting item's. First, there does not seem to be a simple IC for generating sine waves. Second, I found this interesting chart. Use it as a starting point for your design. Its from Texas Instruments App Note 263 "Sine Wave Generation Techniques". Click on it for a larger view.
 |
damon at 11:30 PM |
(0) Comments |
Add a comment |
Permalink
|
|
|
Wednesday, November 02, 2011 |
| Why I was wrong about SPF (sender policy framework) |
|
In a previous post about Sender Policy Framework (SPF) I was not enthusiastic. SPF is a field type in the DNS record of your SMTP server. SPF helps mail servers reject spoofed email. It is imperfect security. I am reassessing my position on this. But first a quick story or two. You will see the relevance.
When I was in China the students told me two stories. The first one was of a child who was kidnapped. The kidnappers asked for 200K RMB. The parents called the police. They were waiting for the kidnappers at the money/child handoff. There was a chase, but then the police caught the kidnappers and shot them dead. Right on the spot. No F*ing around. I felt safe in China, there was some petty crime (pickpockets etc), but not much violent crime.
The second story the kids told me was of a bus that ran outside the cluster of Universities that was involved in an accident. Apparently many students were hurt and several died. The problem is there was nothing reported in the news about this. The students were in a vacuum as to the status of their classmates. They were upset about this.
This is why I have come to the conclusion that there is trade-off between security and freedom. Perhaps SPF is the best trade-off of the two. Think about it. If you can absolutely block Spam then you have complete censure control as well.
Perhaps the SPF imperfection is just enough to make Spam less attractive monetarily, but perhaps it also allows enough anonymity to foil censure. |
damon at 7:03 PM |
(0) 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 |
(0) 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. We 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 |
(0) 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 ).
As 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 |
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.
Suppose 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 |
(0) Comments |
Add a comment |
Permalink
|
|
|
Wednesday, August 24, 2011 |
|
|
|