Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

The {Glasnostic} Diagnostician from Dublin





 

The Irish literary genius James Augustine Aloysius Joyce makes an enlightening observation in his seminal short story collection “Dubliners”: “I wanted real adventures to happen to myself. But real adventures, I reflected, do not happen to people who remain at home: they must be sought abroad.” 

 

One Russian prodigy would have certainly made Joyce immensely proud for sharing his passion for real adventures on foreign soil, a non-conformist who found his calling in Dublin through a long winding route that was well worth every effort that went into the relocation. He travelled from Moscow to Kiev, Ukraine where he was interviewed for a vocation following which he came back to Moscow and applied for a working visa to Ireland, a welcoming arrangement that allowed an aspirant to change jobs subsequent to the debut job, unlike in many other nations where losing your employment meant the end of the road (and a forced homecoming). 

 

So he came to Dublin and found his comfort zone – a sweet home and a thriving workspace - among the friendly and non-interfering Irish people. If a lot can happen over coffee, a lot can more can happen over an Irish coffee! 

 

Meet Dmitry Vostokov, the globally renowed Software diagnostics expert, educator, scientist, inventor, speaker and author. When it comes to diagnostics across different spheres and sectors, we have several practioners doing exactly the opposite of what Sir William Osler, father of modern medicine, earnestly advised: “To confess ignorance is often wiser than to beat about the bush with a hypothetical diagnosis.”

It is indeed heartening to note that we have commited crusaders like Dmitry who have raised the bar for Software Diagnostics to such a level that it now stands to benefit other pivotal spheres like medical diagnostics. The story of his inspiring life and phenomenal work knows no bounds, and one is really at a loss to decide where to begin the tete-a-tete, and on what note to conclude the conversation. But a beginning needs to be made, for the guiding light of Dmitry’s insights undoubtedly helps the world decipher trends and make meaning out of the metaphorical patterns of different hues, colours, shapes, and contours. So, here is a tiny window – small enough to arouse interest and wide enough to cover the essence.      

Q & A with Dmitry Vostokov 

How was life during your formative years in the Soviet Union? 

 

Life was really calm in that era than what it is today; those were the late Soviet Union years, the late 1970s, and early 1980s, which were bleesed by stability in some sense. Prior to the mid-1970s, my grandfather held the highest technical position  (CTO in modern terminology) in a large mechanical factory, and he was also an inventor. I vividly remember my parents taking me out every summer for at least 2 months of travel. I visited all Soviet Union republics, their museums, and tourist hubs, including Central Asia. My favorite cities were Samarkand, Bukhara, and Hiva. Having had no siblings, I spent most of my time reading, including popular medical magazines from a very early age. Perhaps that habit subconsciously influenced me towards diagnostics. I was also fond of reading science fiction and adventure books. At age 10, I read Hobbit and liked it very much. I read an anthology on the history of the European Middle Ages several times, from cover to cover, even before we studied about that epoch-making era at school. I also wrote a long epic poem. Of course, all this reading happened prior to my deep affinity with Chemistry which got me hooked to Chemistry books, including university-level textbooks. I also attended a musical school for many years playing mostly cello with elements of piano (cello classes was several times cost-effective than the piano ones, hence my obsession with cello!). I became an ardent fan of Johann Sebastian Bach although I, methodically, on my own, learned to play a few fragments from the Well-Tempered Clavier. So, by the end of school, I had the choice to pursue higher education in either Music or Chemistry. I chose Chemistry based on my success in several Olympic Competitions at the regional, republic, and Soviet Union levels.

 


Lego modeling: the epicenter of Dimitry’s continued preoccupation 

 

Your affinity with Chemistry at age 12 seems very intriguing, almost as if there was something predestined about this choice. 

 

I think abstraction played a key role in this affinity. I saw aromatic compounds drawn on a blackboard, which sparked my interest. So I asked my parents to bring me Chemistry school books to study, which I devoured in a month. In the same way, many years later, I saw a category theory book cover in a bookshop and was positively intrigued. Now I have written my books on these subjects. At school, I also read many books on the history of Chemistry. And when I study a new subject, I always try to read a book on its history. But I think my intrinsic curiosity about abstraction dates back much earlier. I recall I was intrigued about complex contour integral notation at preschool age (before I learned to read) after seeing it in some math book. Such integrals certainly stood out from the surrounding cloud of letters. Only much later, I had an aha moment having seen them again in a complex analysis book 

 

Again, there seems something serendipitous about your tryst with computational chemistry. How did this come about? 

 

I read a popular book on quantum chemistry at school, and again, abstraction played a role: all those quantum operators and wave functions. I learned calculus on my own from the first volume of The Feynman Lectures and jumped straight to the final volumes on quantum mechanics. Dirac notation was not alien to me. When learning linear algebra on my own, I got the idea of representing chemical formulas as vector spaces. I even attempted to learn quantum electrodynamics just before being accepted to University. So, I wanted to become a theoretical (organic) chemist. But, at the University, I almost immediately got involved with programming (and I had already learned a large part of University-level chemistry at school and, therefore, had extra free time) and gradually put Chemistry aside. Accidentally, in the first year, I was put into a special learning group with additional computational subjects, and this sparked my interest in programming because I knew nothing about it at all. The Russian Algorithmic Language was like a pseudocode: you could execute all instructions on paper. And it was all in the Russian language. We all studied it at school, but my school didn't have a computer to practice.  

 

Your early success with Fortran is quite exemplary?

 

The FORTRAN language is quite simple, you can guess from its name FORmular TRANslation, and it could also be easily translated to machine language by hand. I was in love with the PDP-11 assembly language at that time. So, I gave it a try.

 

Treading on three careers in the same breath - software engineering, tech support and writing and publishing - while your natural affinity for the first two is amply clear, how did the third happen?  Were you naturally adept in it too or did you cultivate it over the course of time?

 

When I joined one of my previous companies in Ireland, I was asked to train technical support engineers in code reading. I initially hesitated, but my manager told me he would reassign that to someone else if I couldn't do it, so I gave it a try. I liked teaching a group of engineers, especially imparting foundational knowledge. I also learned a lot from it. It was an enduring success, resulting in at least 5 books written later. However, publishing was a steep learning curve as I wanted to do everything myself, and I took the difficult route of doing the activities of a traditional publisher. 

 

How did your relocation to Ireland happen? Was it a conscious choice or an outcome of circumstances?

 

Moving to Ireland was a chain of coincidences; I was looking for additional jobs in Moscow for extra income, and suddenly, an Irish job came in, and the recruiters and the company were very keen to bring me in as I had the skills very few people had at that time in Russia. Although I was very hesitant to follow suit, I finally gave in, primarily to learn English. Also, another contributing factor was that my employment was not tied to an employer, like in the USA, which proved handy in turbulent post-dot com crash times. I could easily change employers if I wanted or needed. 

 


 

Early days in Ireland, 2001

 

You found software narratology when you were contemplating an analysis of software logs. Can you provide a detailed elaboration for the uninitiated? 

 

Earlier in 2009, I was trying to make sense of software trace analysis. I had to analyze very complex software logs with millions of events from dozens of processes, hundreds of components, and threads. There was no time to learn millions of source code lines. If in memory dumps, a problem was often immediately visible to me due to numerous patterns, it was not in software logs. So, I started discerning patterns to help me with trace analysis. However, I came to a pattern language-writing block as I could see only a few obviously discernible product-independent patterns. Because my wife studied Russian philology and related subjects at that time, I noticed books on literary theory and criticism which mentioned the notion of a narrative. I started reading them. So, all that information came to my mind, and I explained software tracing as stories of computation. After that, I came up with the first definition of software narratology as an application of narratology to software traces and logs. Some subsequent product-independent trace analysis patterns were discerned using this narratological perspective. 

 

As an example of the appication of narratology to software traces and logs, compare these two narratives; the first (in italics) is a tale split by events:

 

A long search 

A Hero found a castle 

The Hero tried to open the castle gate 

The gate was closed 

The Hero needed a key

 

After a long computation, Component ABC tried to save the computed results to a file. Access denied. The Component needed to have certain rights.

 

The 4th edition of my trace and log analysis patterns reference is hence titled "Trace, Log, Text, Narrative."

 

You have stressed on the need to talk about software pathology along with data pathology. An elaboration will help students of data science immensely.  

 

Data pathology is well-known to data scientists and engineers (think about data cleansing). But I found the need to extend the analogy and metaphors between medical and software diagnostics to pathology. And in the name "pathology," I see patterns of "path" and "log." This approach may also shed new light on data pathology since the same pattern-oriented approach to trace and log analysis can be applied to data in general, be it textual or structural. The 5th edition of my trace and log analysis patterns reference, to be published earlier next year, will have the new title "Trace, Log, Text, Narrative, Data."

 

When did the Software Diagnostics Institute come into being? Is it a commercial venture? How do you interact with your target audience and clients?

 

Initially, it was just the Crash Dump Analysis Portal, since 2006 or so. While accumulating the material and its interdisciplinary connections, I realized that what I was doing needed a shorter name, so I looked for different names and coined some new ones. In 2012 I realized that what I was doing was called just diagnostics. And I wanted something that sounded scientific. I spent 12 years in various laboratories at University, either studying or doing part-time paid jobs, and I saw science inside out. Since I single-handedly wrote so much on software diagnostics and being completely self-sufficient, I thought it should merit the name of the research institution. Hence the name Software Diagnostics Institute. I was doing novel research anyway. This is not a commercial venture, although it markets my training courses and other reference books and has links to the Software Diagnostics Library (my previous blog), which is now a large collection of diagnostic analysis patterns. In edited form, they are included in my reference books, but, as one reader told me years ago, why should someone buy the book if its content is free, albeit in unpolished form? Clients find me via search, social media, and bookshops. I need some form of monetary reward to continue my research which I own, and buy books and hardware/software for it  But most of my recent theoretical articles can be accessed at https://www.dumpanalysis.org/

 


 

Reading Windows Internals and doing crash dump analysis, 2003

 

How do you look back (and ahead) on your software strides. What is your view on the open source movement? What do you make of the talk around metaverse?

 

I flow where software is flowing. For me, the software makes sense only when it has problems, and I don't mind problems as I like to put my mind on them. The more complex software and its environment become, the more I relish it. We see how many medical professionals we have now, the medical diagnostics is getting complex by the day. Contrary to the popular opinion that in the future, debugging will not be necessary, I think we will need more software diagnostics and debugging, especially when AI/ML (mind) and the required infrastructure (body) become more and more complex. Regarding OSS, I have been catching up for the last 5 years, after having spent the earlier time exclusively on Windows platforms with infrequent excursions to Mac OS X and Linux. Metaverse looks very distant to me, I haven't tried it yet, but I believe it will need diagnostics too 

 

 

What innovations would you rate among your most satisfying breakthroughs - those that deeply satisfied the thinker and innovator in you?

 

I would rank my work in Trace and Log Analysis Patterns and Theoretical Software Diagnostics above others.

 

As I wrote elsewhere, the famous Soviet mathematician Gelfand considered himself the Mozart of Mathematics according to the memoirs of Edward Frenkel:

 

"Most composers are remembered for particular pieces they wrote," he said. "But in the case of Mozart, that's not so. It's the totality of his work that makes him a genius." He paused and continued: "The same goes for my mathematical work." (Love and Math: The Heart of Hidden Reality, page 67)

 

To repeat the pattern, the same goes for my software diagnostics work. Also, one of the deeply satisfying inventions was the new way to represent chemical formulas using baseplate and Lego bricks. I could finally do something in Chemistry after I left the discipline and switched to programming.

 

Naturally, all memory dump analysis work had some influence on my philosophical aspirations. I made a philosophical discovery that Universe is Memory in the tradition of presocratic philosophy.

 

I also applied crash dump analysis patterns to project failures, resulting in me being sandwiched between Voltaire and Weber in the references section in one of the management research papers  The paper is called "Sherlock Holmes and the adventure of the rational manager: organizational reason and its discontents." It is in open access. You can easily find it.

 

Also, I'm proud that my foundational memory dump analysis work is referenced in the Debugging Wikipedia article.

 

An accomplished diagnostician, 2012

 

Your current areas of interest are phenomenally exhaustive: spanning theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow and interaction, cloud native computing, security, automation, functional programming, and applications of category theory to software development and big data. Phew that’s quite a list!

 

In a lighter vein, I would say this list is essentially a compilation with search engines in mind  On a serious note, these are areas of interest where I try to read, evaluate, and adapt to the discipline of software diagnostics, especially to the theoretical part of it. I'm more interested in deep concepts there. For example, recently, I transformed my diagnostic analysis patterns to native cloud computing. Regarding AI, I devised a general architecture of analysis pattern networks. On category theory, I have proposed a categorical definition of debugging. For diagnostic workflow and interaction, I proposed a novel approach using gestures. The list is a continuum. It goes on expanding by the day.  

 

Magical moments in the company of remarkable cats, 2022. 

{No wonder, cats are the favorite pets of category theorists}

 

 

Your command over mathematical concepts seems ripe with sunrise possibilities…

 

I view and use mathematics as a conceptual tool for theoretical software diagnostics. Many analysis patterns got their inspiration from mathematical analogies, especially from modern and contemporary mathematics. So it's rather a worldview. But, again, as I said, I love abstraction, and hence the preoccupation with mathematics. 

 

You have been a serial entrepreneur and founder of a string of corporate entities -  Syndromatix, Anolog.io, BriteTrace, DiaThings, Logtellect, OpenTask Iterative and Incremental Publishing, Software Diagnostics Technology and Services , and Software Prognostics. 

 

Some of the listed projects are related to diagnostics automation, they are not necessarily software-related. Most of these are essentially projects I have worked on for years towards making them fruitful. They are not corporate entities, and most of them are registered business names that I fancied, with the publishing and training businesses being the most successful of them all. However, a few more priorities that are uppermost in my mind do not find mention in this list. They are under wraps as yet! 

 

What are your aspirations and goals going forward?

 

I want to read a few interesting books I bought recently. I also wish continue working on the "Writing Bad Code" book, which I will probably start as a training course early next year. I will finish the remaining CoParts 4 – 7 of Visual Category Theory, and the 15th volume of Memory Dump Analysis Anthology (Diagnomicon). 

 

I also have in the publishing pipeline many new and updated training courses and reference books related to software diagnostics. Also, I want to learn more about n-Category Theory next year. more the abstraction, the better! Finally, a stealth project will be revealed around New Year's Eve when I have some leisure time to work on its initial phase, including new Visual books on functional programming, category theory, and a few mathematical topics I learned recently.

 

Some people have suggested I write an autobiography because I have lived and worked during interesting times spanning different countries and political systems. So, I'm also working on that. But, here, the book needs to be interesting not only to me but also to my readers. So, I came out with one particular format that should attract different readers even if they are not interested in me. More to be revealed once I accumulate sufficient material. As an additional preparation, I'm also reading books about autobiographies. 

 

 

 

 



This post first appeared on The Lost Accountant, please read the originial post: here

Share the post

The {Glasnostic} Diagnostician from Dublin

×

Subscribe to The Lost Accountant

Get updates delivered right to your inbox!

Thank you for your subscription

×