Category: Computer Programming
As is typical of this time of year, it’s been a very active time for your humble physician-author-blogger.
January started off with a whirlwind visit out to Arizona for a daylong presentation to the Arizona Naturopathic Medical Association. This was followed by a two week intensive period of website redesign, overhauling the website of The D’Adamo Clinic in addition to the navigation system for North American Pharmacal. The Clinic website is a simple white design that I like very much and it conveys what being inside the Clinic feels like to me. I’m not normally a fan of all-white walls, but in the Clinic it works.
One problem you come across again and again when you program for the Internet is cross-browser support. I’ve learned the hard way that a web page that works and looks good in Firefox for the Mac may not necessarily look or work the same way in Internet Explorer for Windows. Many, many times it’s been a last minute check on an outdated browser running Windows 95 that kiboshed a terrific idea.
Putting the final touches on the SWAMI software. I’ve decided to port it to two platforms. One will be the traditional SWAMI GenoType for professionals, the other will be a SWAMI Xpress that will be available online. Introduction of the SWAMIGenoType will be linked to the IfHI 2009 Conference, where Tom Greenfield, Natalie Colicci and I will have the time to take the attendees through the interface, filters and matrices. If you are a physician or IFHI certified educator planning to use SWAMI GenoType in your practice, you’ll need to attend IfHI 2009 to get the full training.
SWAMI Xpress will contain all the base programs of his more muscular brother, but is being designed for general-purpose use. SWAMI GenoType has advanced filters and controls that allow a physician to exert complete control over the client diet and is geared to practitioners who want to have a more micrometric control over things. Introduction of SWAMI Xpress will be as part of NAP’s “Do It For A Month” program.
On the lecture horizon, I’ve got a webinar with the Massachusetts College of Pharmacy on March 31 and an upcoming Grand Rounds presentation at the University of Bridgeport College of Naturopathic Medicine on February 11. After that things calm down until the IfHI 2009 Conference June 5. IfHI should be challenging. I’ve scheduled myself for something like 9 hours of lecture time, and if you could believe it I’m stressing out about not having enough time to do justice to the material. Figured out how to control my slide show from an iPhone, which is very cool. I should be able to pace around the room and use the iPhone to cue the next slide.
After completing a few movies/animations I’ll be pretty much done preparing material for the conference, leaving plenty of time to perfect the software and get the 1971 VW Camper ready.
Got lucky yesterday. Found a site that had the entire LP of the 1974 classic The Portsmouth Sinfonia Plays The Popular Classics available as a download. I certainly don’t support intellectual property theft but this album has never made it to CD and I think the original record label is now extinct. The Portsmouth Sinfonia is the ultimate ode to amateurism: Take a bunch of English art school students --who either cannot play a musical instrument or are willing to play one they are unfamiliar with-- and put them into an orchestra. The only rules being that you had to come to rehearsal and you could not purposely play the wrong notes.
What resulted were renditions of the popular classics (Peer Gynt Suite, The Blue Danube Waltz, The William Tell Overture, etc) in which the inexperience and lack of talent produces a series of acoustic near-misses that collect into this cloud-like approximation of what the proper pitch and notes should sound like. Popular classics were selected on purpose since everyone in the orchestra would know the music and could at least aspire to what the piece should resemble--or at the very minimum whether they should be sounding higher or lower pitched notes.
Here is their rendition of Blue Danube Waltz, Op. 314 (Johann Strauss)
Beethoven was supposedly fond of listening to amateur productions of his work, and I’ve often thought that this would be among the most perfect of medical education paradigms.
Been looking at the Kindle book reader from Amazon, and I think they may well have produced the 'killer app' for the reading public; much like what the 'iPod' for music listeners.
It's not perfect; formatting is somewhat of a bear. For example, tables --a basic formatting tool of HTML-- are not supported, which makes me think that this is not going to go over big in academic circles (though many publishers will probably just convert their table data into a graphic images; not a solution for me, since most of my tables are generated dynamically by the programs that I write).
However, once you get the hang of things, publishing eBooks is pretty straightforward. Which is great, since I see my own future as an author veering ultimately into the realm of self-publishing, with its lack of editorial constraints. I also like the idea of a small gadget that can hold two hundred books means to the vertebrae of my two daughters, who seem to look more and more like a special forces team with their huge backpacks filled with very heavy paper books.
So... here is little gift for you all who either have a Kindle or a Blackberry or whatever. It is the Recipe Index from the www.dadamo.com website. Now you can shop by using your PDA or Blackberry or Kindle.
Save it to your hard drive and upload it to your Kindle. If you have a Blackberry you need mobipocket to be able to read this file on a blackberry. You can download it free from here* just follow the simple directions. For other gadgets, just google you gadget with the keywords 'mobipocket' and 'prc file.' Most PDA and phone have some way of reading these files.
Enjoy, and let me know what you think of this first effort if you get it to work
* Thanks to C-sharp and Dr. Natalie, who let me know that the earlier link was no longer working.
Just finished the NAP Professional Services Webstore and Learning Environment. With its completion, I've realized a long standing goal: To have NAP website that is optimized for the health professional. A few of the cool new features that I've built into the site include:
- Extensive discussions of the pharmacology and biochemistry behind the indications and actions of each product. As an extra bonus, I've created a new and distinct version of the Individualist Wikipedia which directly hyperlinks entries to appropriate NAP products.
- Access to members-only monthly 'webinars' conducted by myself and the NAP Professional Technical Staff (attendance limited to 25 seats). A key feature of an NAP Webinar is its interactive elements -- the ability to give, receive and discuss information. To sign up for NAP Professional Webinars, contact Professional Services toll-free in the US at: 877-226-8973 or by email the Webinar Desk. NAP Webinars are free to all NAP Professional Clients. I'll be lecturing at the next webinar on 'Cancer Survivorship' Monday, August 11, 2008 at 8PM EST
- NAP Professional Accounts can also participate in the new Pharmashare Professional Affiliate Program.
- Early notification of upcoming limited attendance IFHI Micro Conferences.
- Physician-to-Physician Live Help via real time chat.
If you are a licensed health professional (or IfHI certified educator) and wish to open an NAP Professional Services Account click here and fill in the details. Within 24 hours you will be sent a special password to allow you full access to the site. If you are an existing professional client of NAP you can contact Professional Services toll-free in the US at: 877-226-8973 or by email at NAP Professional Services and they'll register you right away.
I'm slated to lecture at the New York Association of Naturopathic Physicians 2008 Conference. I plan to present on 'Verisimilitude and Malignancy.' Mimicry is an early step in the metastatic process and an important factor in the continued cancer-proneness of survivors. This lecture will discuss nutritional interventions physicians can employ to address these susceptibilities to enhance the survivorship of their oncology patients.
NYANP 2008: Balanced Health: Putting It All Together
8:30 am to 7:30 pm
American Conference Center
3rd Ave (between 48th and 49th) New York, NY
New York Association of Naturopathic Physicians Website
I will also be lecturing at the 2008 IFHI Certification Micro Conference held by the Plateau Eat Righters on October 25, 2008 in Crossville, Tennessee. This conference is being hosted by my friend Larry Nesbit. It is an IFHI approved certification test site and they will be administering the cetification test for IfHI Fellow.
More information about the Plateau Eat Righters 2008 IFHI Micro Conference is on the IFHI site.
Although I’m probably only one of five people on the planet who have not read it, the blockbuster success The DaVinci Code is just another indication that we humans have an innate curiosity about codes and their relationships and meanings. This blog will take us into the ultimate code of them all: The Code of Life.
By general agreement, a code is a rule for converting a piece of information into another form or representation, not necessarily of the same type. For example, I often write computer programs, most often to do some particular job or another on my website. Most programmers refer to this a “writing code.” Computer programming code appears to the non-programmer as a series of arcane jottings and numbers, but to both the programmer and computer, this code is in reality a series of highly specific instructions, executed step by step, that result in the computer performing some real world action; perhaps posting a message to an internet bulletin board or sending along an email.
Since computer programs are often rather large affairs with many loops and computations, writing good computer code is a daunting -if at other times stimulating- pursuit. It can be reassuring to remember that at any moment in time only very simple, rather dumb things are happening. What makes the computer program so powerful is that all these simple dumb things are happening extremely fast with a tremendous degree of accuracy.
Very few computer programmers can ever claim to have written a perfect program straight off. There are too many places that things can go wrong, computers being the terribly literal creatures that they are. For example, a command that tells a computer to print Hello World! to the screen might look like this:
23. PRINT “Hello World!”;
Simple enough, eh? Like the way we humans typically read books (from front to back and top to bottom) computers execute code from the top down. Thus, our line of computer code is numbered 23, so we can assume that there are twenty odd lines of computer code in front that will be executed before our screen lights up with the words “Hello World!” Perhaps line 22 tells the computer to make the screen font red, in which case our “Hello World!” would be rendered in red colored type. If we remove that line and run the program again, our font color goes back to black.
Look at our line 23 again and you will notice that the phrase you see -- Hello World! -- is in quotes, because in our simple computer language putting a phrase in quotes tells the computer where is the beginning and end of what you want sent to the screen is located. Without this type of instruction, computers are actually quite dumb, and have to rely on us to tell them where the beginning and end of various human things lie. Also notice that at the end of the line is a semi-colon, which in our little computer language tells the computer that this is the end of that particular line of code, so move down one line and execute that command next.
Computers are so literal that a mistake of even one character can cause a program to malfunction. For example, if you saw this line:
23. PRIINT “Hello World!”;
You’d probably guess that something is supposed to be printed. However the computer does not see PRIINT as the equivalent of PRINT. On the other hand if your code looked like this:
23. PRINT “Hello Wurld!”;
The program would probably still execute, since as far as the computer is concerned the command is correct and it’s in quotes, so it assumes that this is probably what you wanted. Once the command is correct, the computer doesn’t care if you tell it to write “Hello Wurld” or “Kick Me”. As long as its own language is correct, the computer will chug happily along, performing its assigned tasks.
Like computers, first impressions, and that light switch on the bathroom wall, genetics is remarkably digit business: On-Off; Yes-No; Love-Hate. So even if it looks complicated at times, don’t be fooled: It’s not. Just remember, like computers, genetics is simply a lot of small things happening in a clear-cut manner and if you get perplexed or lost, just take a step or two backwards and start again.
The mechanism of the genome is surprisingly similar to our simple line of computer code; so simple in fact that I will provide you with an “executive summary” of the whole affair in just two paragraphs.
A molecule called DNA periodically assembles copies of various parts of itself that are called RNA. RNA then travels to other parts of the cell where it is read as an instruction template, assembling chains of amino acids into something very useful: protein molecules of delightfully complex three dimensional shapes that are most often a class of proteins called enzymes.
Enzymes are special speed-up molecules that greatly foster the production and metabolism of the body’s tissues and secretions. Without them many biochemical reactions would occur so slowly as effectively negate their value. Just think about the difference between soaking a dirt stain in plain water for four days, versus soaking it for four minutes in a solution of water and laundry detergent and you’ll get an appreciation for the action of enzymes.
Enzymes catalyze many of the reactions involving proteins, fats, carbohydrates and minerals. Hormones, mucus, neurotransmitters, you name it; they are all made from enzymes.
It sobering and a bit humbling, to ponder the fact that when we eat any kind of protein, we’re actually consuming the results of something’s DNA and some of their DNA as well. However we usually break down dietary proteins to their amino acid building blocks and start all over again.
Occasionally, wild molecular gyrations occur as the incredibly DNA long molecule prepares to replicate by winding itself up tighter and tighter on a tubular scaffold of its own creation. Splitting from the ends much like an old Manila hemp rope would, each of the two unraveling single strands then begins to assemble a copy of its missing partner, producing two unique strands of DNA and creating two daughter replicas from one original.
What happens is surprisingly simple. Good things are like that; a strong underpinning of fact and analysis, and a veneer of simplicity and common sense. Now why, on the other hand, is quite a different story.
On my main site I've finally bit the bullet and begun to migrate all the blogs from the arcane and unsupported 'Greymatter' blogging software to a very nice package called 'B2evolution.' The difference between the two is astonishing. The new format, much like this blog, is a modern platform that supports moderated comments, allows bloggers to tag their entries, and organize blogs by category. Plus these new programs and much easier to style, so they just look better. B2evolution also supports multiple blogs, so administration looks to be a snap.
Here is a link that will take you to the new blogging platform, in this case Susan Graham's page. Other blogs are accessible from the tabs at the top. The 'Retired' blog features all the great blogs written by folks who are no longer active. Heidi Merritt's great 'On The Diet' column has been converted to the new format as well. Once this gets reorganized by categories, newbies to the diets will have a real resource.
If anyone out there is interesting in blogging, and is willing to commit to a regular blog for at least three months, just leave a comment with your email. I'll get back to you. If you are an retired blogger and want to reactivate your blog, I can do that for you as well. If you are a current active blogger, please contact me so I can arrange a walk-thru for you.
In general, with few exceptions, such as Suzanne, Paul, Debra, Melissa and a select few others, most blogging careers don't seem to pan out over the long run. I believe many folks start out thinking that they will have all this terrific information to share, but then discover that consistent blogging is not all that easy to do. We seem to feel that we have to write some 'major' type of entry and so the first few words never get onto the page. That certainly need not be the case. Many of my best blogs start off with the most trivial of observations and evolve as I continue to write. The trick is to just write what you feel.