Featured Post

Hacking Health in Hamilton Ontario - Let's hear that pitch!

What compelled me to register for a weekend Health Hackathon? Anyway, I could soon be up to my ears in it. A pubmed search on Health Hack...

Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Tuesday, April 16, 2013

Brain research projects - no more digital computers or programming!?


There are several huge "artificial brain" research projects going on now. There is one in Israel, United States (biggest NIH research grant in history), and the one in Europe is called the Blue Brain Project. One of the leading directors of the BBP is Henry Markham. I was listening to an interview with him in which he stated that within 10 years, once the virtual brain is created, it will mean computers will no longer need to be programmed - it would mean the end of the line for digital computers! These computers would not need to be programmed because they will have ability to learn by themselves. This really astonishes me. He further stated that the desktop computers in the future will be both digital and artificial brain.

The eHealth implications for the BBP are astronomical. At first the goal of such a virtual brain would be simulations to test drug reactions for Parkinsons or Alzheimers. Of course, those are more translational bioinformatic type of applications, but it would mean that every ordinary computer device would have access to a Dr. Watson type of medical intelligence.

In the spirit of this movement towards neuroscience integration of knowledge and huge research, I am reading Ray Kuzweil's new book "How to Create a Mind: The Secret of Human Thought Revealed". Parts of the book are beyond my ken, especially the chapters describing how the brain grid is constructed and how it works, but I like reading Kurzweil because his theories of the evolution of computers is compelling. Not everyone appreciates the Kuzweil vision, and I found very humorous a review of Kuzweil by Don Tapscott in the Globe and Mail where he quotes a detractor of his writings:

He also has many detractors. Douglas Hofstadter, the Pulitzer Prize-winning author of Gödel, Escher, Bach, once said that Kurzweil's books are “a very bizarre mixture of ideas that are solid and good with ideas that are crazy. It's as if you took a lot of very good food and some dog excrement and blended it all up so that you can't possibly figure out what's good or bad.”
I have to return "How to Create a Mind" to the library now, but I almost finished. Can't say I completely understand the "hidden Markov models". I also don't fully agree with Hofstader. Kurzweil even has quotes from Albus Dumdeldore and one of the Weasley clan, and I don't think that detracts from the scholarly work. Many times throughout reading the book I get the feeling that the book was written for both a human and a computer audience. Future "Hals" from 2001 a Space Odyssey are a target audience, and I think this book is a great contribution for computer understanding of human intelligence and how the brain works. br />


Monday, January 28, 2013

GeoCities is ReoCities?

In 1995 I was taking a career college diploma in Visual Basic/C Language programming wondering why we weren't learning HTML instead because something called the Internet was just starting to take off like crazy and soon websites (that require HTML to create) would be appearing all over the place. Well, it wasn't until about 3 years later when I was in South Korea teaching English as a Second Language did I finally find the time to learn HTML By that time everybody and his dog were starting to make websites.

The other day I did some google searching and actually found some of the first websites I had made. Let this be a lesson - everything posted on the internet lives forever, and Big Data has a long memory. I had thought GeoCities, the free website hosting service owned by Yahoo had disappeared into the trash heap of the WWW, but it has reappeared in the form of ReoCities. WTF is ReoCities?

Turns out ReoCities (RIP GeoCities) appears to be a sincere attempt to salvage the treasures that were Geocities, but sadly, much has been lost.

If you want to see the ridiculous website on Holistic Health in Canada (created in South Korea) here is the ReoCities link to it < Here >. Well, they say ex-pats  become the worst patriots or something like that. How best to observe and reflect on the doings one's fellow countrymen than from afar. And let that be an OM.



Thursday, August 23, 2012

Progress on Plone 4.0 & Python Programming & the Postdam Institute

I had set myself the task of learning Python programming so I could better understand the Plone content management system, but I have not progressed that much. I installed Plone 4.0 on my Ubuntu machine and things are going well, but I have not given much time to it.  I did learn something about Plone 4.0 that fascinated me - the website for the Postdam Institute for Climate Impact Research. This website had a database that was over 16 gigabytes of data and files. Now that is astronomically larger than anything I have used. It make me think of the MyOscar Personal Health Record, parts of which was programmed using Plone. Being able to handle databases with that "memory footprint" is beautiful.  I'll just paste in here some of the data about the Plone 4.0 capacity to handle large databases:


Real-world numbers

But enough talk, how does this actually affect your site in real life? Let's take a look at a recent, real-world example from a large Plone site:
Potsdam Institute For Climate Impact Research had a 16.5 GB database containing documents and other media:
  • Upgrading the entire site to the new, filesystem-based storage: 51 minutes.
  • Plone database size: reduced from 16.5 GB to 3.0 GB.
  • Memory footprint on the heavily cached server:  reduced from 10 GB to 3 GB.
  • Load on the site while in heavy use: reduced to 10-20% of the previous CPU usage, with no intermittent massive spikes, as had been the case with Plone 3.
  • File transfers were faster, with no discernable increase in memory usage while large documents were being downloaded.
Plone 4's new large files implementation has been field tested on large production installations during the beta process, and we're confident you'll find that Plone 4 delivers massive performance and resource usage improvements on sites with multi-gigabyte data stores.

Sunday, April 29, 2012

Progress on Python Programming for Plone

I am trying at least to learn some Python programming, because it is the main programming behind the Plone content management system.  I have been given a site to manage and I would ideally like to extend the capability of the site, beyond just designing content using the built in CSS.  I am up to exercise 19 on the Python hard programming site.  I am more used to programming in Coldfusion and PHP but what I want to do with CF or PHP I have no clue right now with Plone or Python.  I just want to learn how to do some simple CRUD (create, read, update, delete) in Plone and Python.  If anyone knows how to do this, please let me know. I would like to start with uploading a CSV file exported from an Access database, then displaying the content in an edit/update form in Plone.  I learned how to create a feedback form in Plone, which was a fairly simple built in module, but I have not found out yet how to create a form creation utility through Zope.  I also don't have command line access to the Plone site, and have to work through an administration that charges by the hour for the service, so I need to get that right.  I have searched the internet for CRUD documentation on Plone, but the documentation is not easy to read or understand, so I am not sure if I need an Archetype or ContentMirror, or whatever.  But just now I googled "CRUD Python" and got an interesting result - < here >  The more I see this the more I miss CPANEL, PHPMyAdmin, or CFAdministrator and Dreamweaver.

Friday, April 13, 2012

Online Learning Courses

I first signed up for a Standford University course on artificial intelligence. Took one of the courses and found it was actually a bit difficulty. Not sure what the other 200,000 people who took it, and completed it ( I didn't), thought. Next, I signed up to take a course from udacity (Standford again) on progamming the robotic car, but that class time conflicted with something called my job. These courses are interesting, but today I found out that my university library, in the multi-media centre, has a subscription and dedicated computer with an IP link to lynda.com where there are all kinds of software tutorials. As I am still trying to learn enough Python to run an application at that place called my job, this might be very useful. Programming a robotic car might be more fun, but for now, I am going let other people do that. In fact though, the prerequiste for programming the robotic car is knowledge of Python!
You should either already know Python, or have enough experience with another language to be confident you can pick up what you need on your own. Fortunately, Python was built to be easy to learn, read, and use. If you already know another programming language, you'll be coding in Python in less than an hour. Additionally, knowledge of probability and linear algebra will be helpful.

Python Review
Python for Programmers Introduction to Programs Data Types and Variables Python Lists For Loops in Python While Loops in Python Writing a Simple Factorial Program Fun with Strings
Probability
Basic Probability Probability (Part 6) [Conditional Probability] Probability (Part 7) [Bayes' Rule] Probability (Part 8) [More Bayes' Rule] Introduction to Random Variables Probability Density Functions Expected Value: E(X)
Linear Algebra
Introduction to Matrices Matrix Multiplication (Part 1) Matrix Multiplication (Part 2) Inverse Matrix (Part 1) Inverting Matrices (Part 2) Inverting Matrices (Part 3) Matrices to Solve a System of Equations Singular Matrices Introduction to Vectors Vector Dot Product and Vector Length Defining the Angle Between Vectors Cross Product Introduction Matrix Vector Products Linear Transformations as Matrix Vector Products Linear Transformation Examples: Scaling and Reflections Linear Transformation Examples: Rotations in R2 Introduction to Projections Exploring the Solution Set of Ax = b Transpose of a Matrix 3x3 Determinant Introduction to Eigenvalues and Eigenvectors

Tuesday, April 10, 2012

Integration Engines - the Cloverleaf on the Information Highway

I was looking at eHealth career postings on the COACH website and found one at Telus for an Integration Health Business Consultant. What caught my attention was one of the Responsibilities: "Develop HL7 interfaces to integrate disparate health care applications using a variety of commercial integration engines such as: Oracle’s Java CAPS; e*Gate (SRE); Datagate; OpenESB; SOA Suite; Quovadx Cloverleaf; webMethods; IBM WebSphere; and Microsoft BizTalk." I had heard of Biztalk and knew it was a web service, probably using Service Oriented Architecture, but the rest of them were all new to me. This is a veritable flotilla of integration engines for disparate systems. It was only minutes later when I found myself searching for information about Cloverleaf ("The Swiss Army Knife for Data Conversions"), that I landed on the MDI Solutions website. Here I found a grouping of HL7 Integration Engines like I have never seen before. Their webpage on HL7 Integration Expertise includes many of these same integration engines.

Tuesday, April 3, 2012

Program or be Programmed

I can essentially agree with the argument that we all need to know about programming, and at a bare minimum get over any phobias about it. I am sure that many of the 1% have other people do their programming for them, probably by others in the 1%, I mean, after all, they are programmed to be the 1%. The rest of us are the "bungled and the botched". Python interests me because I am working on a Plone site now and I want to better understand the Zope database. It just doesn't make as much sense as PHP and mySQL right now. Plone can be quite the robust CMS (Content Management System). I even know a tethered Personal Health Record system that deploys it. I once tried to program Zope to connect resident forms to an MS Access database. It would have required a third party integration bridge, but it was possible. Just learning how to import, and then display, CSV data, seems to be a problem I am having at present. If anyone knows an easy way to do that, please let me know.