Quantcast
Channel: Geekswithblogs.net | design pattern Posts
Viewing all articles
Browse latest Browse all 50

My Journey, so far

$
0
0
Everyone has a journey. You start off young & stupid, and 2 decades later, you're closer to understanding the nature of reality. That’s one of the main goals in life, to seek knowledge (justified, true beliefs – pick any 2 J ). I must have read 5000 books in my life. From some of my readings it could be construed that reality computes itself, It from Bit. From others, it can be concluded that Entropy is decreased by increased rates of computation, and in the short span of human civilization, we have increased the compactness of knowledge representations through several evolutions and revolutions: language, money as a unit of value, mathematical abstractions,  writing, the printing press and the digital computer.
 
In my quest to understand the fabric of the mechanism of thought, one book stands out on my shelf that has enlightened me in regards to computation as to what is currently possible, what is not , and what is almost possible today: "Artificial Intelligence, A Modern Approach" – by Norvig and Russell - now in its 3rd edition - http://aima.cs.berkeley.edu/ . My personal Mount Everest has been to read this tome end to end. It grew me as a person, deepening my concepts of maths, philosophy, cognition and computation. Knowledge can transpose you to zones of thought beyond your initial imaginings.
 
I received a commodore 64 for my Bar Mitzva and taught myself Basic. Then I put it away, and did a lot of the dumb things that teenagers do. At school, I did pretty well at science and maths without trying. I had my head in the clouds, and read a lot of science fiction. After school I studied Computer Science, absorbing a lot of theory, but the restlessness of youth clogged my faculties – I was a terrible programmer with a fear of failure! After graduation,  I initially worked as a systems engineer , stepping away from coding – C++ was in vogue at the time, and it just seemed too mechanical for a foolish youth. I aimed to get a broader holistic perspective of system interactions, (I self-educated myself with the CNE, MCSE & CCNA qualifications) but after a while routing protocols seemed like so much plumbing.
 
It was the mid-90s, and the genome project started gaining the media spotlight. All of a sudden I knew what I wanted to do – Bioinformatics! The thought of designing life In-Silico seemed like something out of Blade Runner. I dreamed of creating a Bio-CAD application and making millions in this industry that was sure to take off. I enrolled in a graduate diploma of Biotechnology as a bridging course – I learned the genetic, proteomic and metabolomic workings of the cell, techniques for manipulating genomes and physiology. I also switched to working in software development – web development was a nascent industry, and I worked with ATL, VB6 , SQL Server and classic ASP, easing myself back into a developer's mindset. I completed the MCSD exams. Many people told me that I didn’t have what it took to be switch from systems engineer to developer, but I persevered, bootstrapping myself. It was 2001, and I started learning this new development environment, .NET.
 
I then went on to do a Masters in Bioinformatics. I learned some amazing computational models: dynamic programming local search, hidden Markov models and support vector machines. I got a job as a Bioinformatician at the Australian Proteome Analysis Facility.  I did a thesis on Design Patterns in Systems Biology – I focused on 3D QSAR ( the cheminformatics of protein active site structure / function), structural Bioinformatics and Systems Biology (dynamic systems of biomolecular interactions). I combined this with Biztalk,  .NET design patterns, SQL Server Data Mining  and grid computing over .NET 1.0 Web Services – I researched a mechanism for building distributed Bioinformatics models over disparate laboratories. But Bioinformatics never turned into an industry – with the genome sequenced we had a list of 30,000 plane parts, but it didn’t mean we could fly. There were 500,000 protein types in the human proteome, many of them low abundance proteins hidden by Albumin, and most of them had not had their 3D structure determined.
 
However, the computational algorithms I had picked up from Bioinformatics continued to fascinate me. While perusing the university book shop, I came across the book "AI , a Modern Approach", then in its 2nd edition. It clearly laid out different types of algorithms for simulating thought processes:  problem solving, logic, planning, reasoning under uncertainty, decision making, learning & communication. I switched back to .NET software engineering and started learning this book. However, the learning curve was steep, with many side paths and prerequisite knowledge requirements. I spent 6 months pouring over Wikipedia philosophy. I read several Schaums guides on mathematics: Linear Algebra, Advanced Calculus, Graph Theory, Operations Research, Numerical Analysis. In the meantime .NET (my bread & butter) was not standing still: .NET 2.0 (ASP.NET advances + generics), .NET 3.0 (WPF , WCF, WF), .NET 3.51 (LINQ, EF), Silverlight, .NET 4 (TPL, RX, MEF, WF again). I also learned numerical methods and quantitative finance along the way.
 
Now I am completing the AIMA 3 textbook end-to-end. It’s a feeling of accomplishment. In my next posts, I will post summaries of the core concepts. Looking back, everything is connected!
 
Cheers,
 
Josh Reuben
 
 
 
 
 

Viewing all articles
Browse latest Browse all 50

Trending Articles