DICOM is an acronym for: Digital Imaging and Communications in Medicine. It is a standard for handling, storing, printing, and transmitting information in medical imaging. The current version of the standard is 3.0. I have been dealing with DICOM for the past twenty-five years. The key to DICOM (or any other standard) is to make products from different vendors to be able to interconnect. Before DICOM larger companies had a monopoly on systems. Once a company got a foothold at a healthcare facility it was almost impossible to switch or get better equipment for specific captures. For example, some companies specialize in ultrasound while others in MRI. Before DICOM, healthcare facilities had to choose a vendor and run with it or have redundancies to accommodate the different vendors, which was and still is quite expensive.
The problems with DICOM are quite obvious and there are reasons why. DICOM is cumbersome, inefficient and poorly specified. The reason is that is was designed by committee whose members were not computer scientists and electrical engineers. Representatives came from different vendors that wanted to impose their ideas and protocols in order to get faster and deeper market penetration. One way or another the benefits that DICOM brought to the industry are obvious and welcomed by healthcare providers, not so much by vendors who still try to eliminate competition by stating that if other DICOM products are not certified with their implementations they will not be able to provide service or might even void warranties. It is interesting that in all the years I have been dealing with DICOM I have run into a situation where a vendor would put such opposition in writing. Read the rest of this entry »
It has been rather cold in the Twin Cities of Minneapolis and St. Paul in Minnesota during the past week or so. Rumors have it that summer might already be over before it started. A few evenings ago my wife and I (with our min pin) had the urge to enjoy a Dairy Queen soft cone dipped in chocolate. We live in the city of Apple Valley. We have two relatively close choices, one in Eagan and the other in Rosemount, MN. We decided to go to the one in Rosemount. Read the rest of this entry »
A few weeks ago my wife and I watched on PBS Nova. We missed the first few minutes of the show and were not able to get the name of the show.
Over the weekend I was on Skype talking with my sister that lives on the East Coast. We talked about the Nova program, which she was also able to view. The First Three Minutes by Steven Weinberg, winner of the 1979 Nobel Price for Physics, came up during our conversation so I ordered a copy on Amazon.
The book is quite interesting and relevant to the Nova show we watched. Weinberg did a good job by separating concepts and explaining them as simply as possible and separating it from mathematics. The mathematics is incorporated into a single section at the end of the book. Read the rest of this entry »
The weather has been quite warm and stable in the Twin Cities Area of Minneapolis and St. Paul. This has enticed many automobile drivers to roll down their windows and open sunroofs allowing the nice warm weather to permeate into our bodies. As I write this entry on Sunday May 02, 2010 around 09:00 AM the outside temperature has already reached 55 degrees F on it way up to a sunny and for us Minnesotans, balmy 65 F. It is going to be a great day!
A side effect of driving with the windows down is that the music playing on our radios can be heard by others on sidewalks and in some cases in other cars, which may also be listening to different tunes. Currently we have the sound track of Mama Mia in the CD player in our car. My wife and I like such type of background music. Read the rest of this entry »
In the past few weeks the State of Arizona has been in the news. Apparently a state immigration bill has been signed into law, which empowers the police in the State of Arizona to request from any individual documents to prove citizenship. What would motivate Naïve Americans to propose and pass such a bill?
I was pondering about this and came up with some possible reasons. It might be that illegal immigrants (mostly unskilled laborers) are taking away jobs from Naïve Americans. It does not take much to figure this is not the case. Undocumented workers tend to work for less than the State minimum wage under conditions that in most cases would not be considered safe without any type of benefits. I guess the issue is not loss of jobs

Another issue could be that with illegal workers many criminals make their way into the State and create problems for Naïve Americans. Looking at the profile of people in prison, a very large percentage is African Americans and Hispanics. In this case the State of Arizona should enact a law to profile African Americans, Hispanics, Muslims, etc in an effort to reduce crime in their State. After thinking about this reason perhaps it does not make much sense either
Read the rest of this entry »
… and what do we have to show for?
As we all know April 15, 2010 came and went. I used Turbo Tax to generate and file electronically my return for the past year. It appears, each time it gets more confusing; what is going on? This is a panacea for politicians to get from Naïve Americans as much as they can to pay for their lavish life styles while helping curtail the tax burden of their political supporters.
There is so much Naïve Americans can and will take. I am not associated with the Tea Party movement, but my tip of the hat. Naïve Americans need to promote CHANGE in as many fronts as possible in order to slow down the fall of the United States of America.
I was reading a short article in the April 10th edition of The Economist titled “The Joy of Tax”. It is interesting to note that the federal code tax in 1913 was about 400 pages long. Can you imagine fully understanding 400 pages of tax code, which are completely arbitrary in the sense they do not follow any logical or physical model? Well, things just started to get worse from that point on. Today the same document is about 70,000 pages long. An average textbook contains about 500 pages. Then in average to be proficient in tax law one needs to be proficient in about 140 books. Most Naïve Americans have never read 140 books! Very few have read 140 textbooks. This fact tends to illustrate the complexity of taxes in the USA. Read the rest of this entry »
I did get a copy of “PGP Pretty Good Privacy HARDENED” by Simon Garfinkel published by O’Reilly. The reason for this was not to learn how to use the PGP program, which I have to admit, have not purchased a copy yet. I got the book to read more about cryptography and its history, which is somewhat, covered in the first two sections.
The rest of the book appears to be similar in nature to “The Official PGP User’s Guide” by Phil Zimmerman. One has to expect this based on the subject and title of the book.
Given that at this time I am not using the actual PGP program, after reading the entire book, I have decided to shelf it to be used in the future as a reference.
Given the recent and perhaps not so recent events with the Obama Administration, Naïve Americans must start thinking very seriously about privacy as the government appears to pass absurd legislation, like the healthcare reform bill. This new piece of legislation might be the first in a long list of events that might forever change the USA.
Dear President Obama,
Not sure the exact current state of the healthcare bill that you and most Democrats are promoting but it appears that it might be enacted into law very soon unless most Republicans can manage to stop it.
I have to congratulate you and the Democratic Party for the effort of recognizing the need for a healthcare reform. Many Naïve Americans, including myself, are convinced that healthcare reform is needed but what is being done might not bring the desired / expected results. Being a computer scientist I have to think in a rational way. I fully understand we all make mistakes. The problem is that the USA since the 1950’s has been in a downward spiral (i.e., economy, education, healthcare, manufacturing, immigration, science, politics, etc, etc) and cannot afford additional fatal mistakes. Read the rest of this entry »
In the past few months I have been working adding encryption to data transfers between storage servers. I am using the .NET platform and developing the software in C#.
Initially I decided to use the Triple Data Encryption Standard (3DES) for the data transfers. In practice for most end user applications any type of proven encryption mechanism should suffice. The data being stored by the servers does not contain national security sensitive materials. For most users and companies, attempting to break a 3DES encrypted data transfer should be a formidable task. For the National Security Agency (NSA), well, probably all commercial available encryption software is not secure at all. Read the rest of this entry »
I am currently reading a book, among others, titled “Accelerated C# 2008” by Trey Nash published by Apress. When I read a technical software book I try most of the examples shown. Due to this I take longer to read this type of book.
Trey Nash is an Escalation Engineer at Microsoft working on the Windows operating systems as well as various other products.
At this point I do not have much to say of the book as a whole, but something I read called my attention. Chapter seven “Exception Handling and Exception Safety” has a section titled “Changes with Unhandled Exceptions Starting with .NET 2.0”.
Page 165 describes how the .NET 1.1 designers of the CLR (Common Language Runtime) decided that it would be a good idea (it went out to production) for threads to fail and just disappear without providing any feedback to the user or developer.
Over a couple decades ago I created a software development methodology named CDP (short for Cyclic Development Process). That methodology described among many other things, how to structure software while coding in the C programming language which was (and still) one of the best languages that have come around in the past few decades. When developing any function / method a returned value is set to zero (0) to indicate that all is well. As the function / method is populated, failures return a negative code and jump to the done (exit) label. After performing all the cleanups needed by the function, the function would return with the negative value that indicated the original issue. This approach can be seen like a waterfall / cascade. Read the rest of this entry »