Igor Ševo, Ph.D.

Personal Website — Biography, work and philosophy

About me

Since you're on my private website, I assume you know at least a bit about who I am and what I do. However, in case you don't, let me introduce myself (informally): My name is Igor Ševo and I'm a software engineer and a scientist, with a Ph.D. in computer science. Although that's my profession, I prefer to delve into and study many other disciplines, so that I can broaden and evolve my own philosophy in pursuit of answers that transcend any individual field of study. Thus, I've come to engage in plenty of hobbies (and I do mean plenty), in music, sports, science and art, and I would say these are, despite the fact that I have a degree in a scientific field, my main area of interest. By exploring and combining concepts and ideas from these different disciplines, I'm trying to understand as much about the world (in a more philosophical sense) as possible — answering deeper questions like what makes up the universe, what is real, what is ethical, and what it means for something to exist cannot be achieved by focusing on a single area of human endeavor, but by immersing oneself into as many as possible. Of course, I'm not deluding myself into the belief that I will somehow solve these questions or that they may be solvable at all, but I'd rather try to answer those questions that feel important to me, however unlikely that may be, than spend my life in pursuit of something that could be considered menial, given my suppositions. The cool image of me. People, myself included, tend to be weary of self-proclaimed Renaissance men and philosophers who have no real grounding in science or art. Aside the broad spectrum of activities I engage in, for a short period, I was a member of Mensa high IQ society where I achieved the maximum score on the admission IQ test, which on its own might stand as a valid metric to qualify me to attempt to pursue these goals I outlined.

I brought up this site to serve as a short and personal biography and a kind of a CV, for anyone who might be interested. I'm hoping to publish new content here in the future, since my old website contains quite outdated content that no longer represents me and my work. I won't list my publications and education here, but you can take a look at my Google Scholar, ResearchGate and LinkedIn profiles where these things are presented in more detail. This website is supposed to be a more personal (so, don't be surprised if you encounter foul and non-academic language).

In short, I've graduated and obtained my PhD in the shortest possible time at, what is very often considered, one of the most highly regarded universities in the country (University of Banja Luka). You aren't to blame if you've never heard of it, because it's a university in Bosnia and Herzegovina. I've worked with many companies in the EU and have had offers from some very noteworthy companies and institutions, but have repeatedly decided not to abandon the country, not for its glorious opportunities, but exactly for its aberrantly backward organization, which, to a reasonable person, may seem paradoxical. The reasons for this choice are mostly private, but those aside, I prefer this cultural framework which often begets unique, and sometimes outright comical ways, of expressing and enjoying personal freedom. And even with that aside, some very old values that the Western world is forgetting are still being passed on here, which may provide a temporary stronghold against the ever-evolving posthumanist ideology. I get to do my work in relative peace and for my own sake. Obviously, I've published papers in international journals and have worked with many reputable companies, but this is not much more than a means to provide income and sustain the creative endeavors I truly care about.

Although I do quite a bit of science and research, I tend not to do a lot of publishing, for two main reasons: the first being that I don't particularly care about preparing papers for journals and the second being that writing papers amid such a peculiar time in science when the journals are seeking to increase a set of arbitrary metrics rather than reviewing the content for its actual value, in order to temporarily increase popularity, only to have the work be overshadowed by large corporations publishing work that a single researcher could never do, is really not the best use of one's time, in my opinion, specially if one is to devote their time to a multitude of different activities. I keep asking myself if is it worth focusing all of one's time on a pursuit of understanding a single tiny piece of what makes up the world in hopes of maybe achieving recognition. I seem to be overwhelmingly inclined to stray away from this and turn to more metaphysical questions. We'll never understand the mysteries of the universe by observing a tiny part of it. Sure, there must always be those willing to turn every pebble and uncover the minutiae that help build the bigger picture. I just don't feel like I'm that person. Again, this comes down to personal preference, but I feel like most of the published work will become irrelevant and casting precious and very limited time into oblivion is not the most profitable a strategy, given my choice of axioms.

I'm 11325.56 days old. That's about 31 years, which is a relatively short amount of time to study all of the things I'm studying, but I try to spend as much of my time on self-improvement in all major areas of human endeavor. I continuously shift between more science and engineering oriented study and more art and sport oriented study. However, I never abandon any of them entirely, just haul my focus, as they all feed towards a general goal. There's never a lack of philosophical exploration of meta-concepts that underlie all that can be learned.

I firmly believe that one can only arrive at their own purpose and actualization through deepening their understanding of the universe around, and this can only be done through exploring everything there is, guided by the scientific method and motivated by human creative drive.

Software development

I'm sure at least some of the site's visitors are interested in my career aspirations. Though my conceptualization of the word career might be somewhat different from the dictionary definition, I'm aware that it's usually related to the field where one obtains a degree. In that respect, I'm mostly interested in machine learning and artificial intelligence, primarily because of the insights into actual learning that arise from understanding how neural networks work. I've worked with many types of machine learning systems, and my dissertation was written on this topic.

Though it may seem, given the rest of this text, that I have settled on an apparently optimal configuration, I am always open to new opportunities. Like most good engineers, I like to optimize, and if provided an offer that could serve for the mutual benefit of both the offering party and myself, I am certainly open for discussion. I'm currently an assistant professor and am working on several projects, both as a software developer and in a semi-professional capacity (stock photography and stock music included), but there's always room for improvement and reconfiguration. If you want to contact me, you can use the links in the footer.

As far as programming languages go, I especially like C# and C++, but am reasonably comfortable even with the unreadable languages of the Python and JavaScript kind. I've also written software in Java, Delphi (apparently I'm old), C and assembly. However, I'm fairly adept at learning programming languages, if a particular task demands it. I've developed many commercial products, both in teams and as a freelancer. I enjoy developing algorithms for solving specific problems and enjoy all kinds of puzzles. Here's a short list of some of the things I've made over my 17 years in the software industry (in no particular order of relevance). This is only a fraction of the things I've done, in terms of software development, but it provides a nice overview of various fields I've worked in.

  • Over 100 apps for different platforms (mostly Windows, some for Android), from stopwatches over content-aggregators to large software applications for specific user-groups
  • Road vehicle tracker and detector deployed for surveillance (Python and Tensorflow with a modified SSD neural network)
  • Several computer games (using Unity engine, some with VR tested with Oculus DK2; one with subcutaneous tissue simulation)
  • A neural network trained with transfer learning for aerial image classification (UCMerced and NWPU-RESISC45; published in IEEE Geoscience and Remote Sensing Letters as one of the first papers of this type with state-of-the-art results)
  • An algorithmic approach for automatic polyp detection in colonoscopy (published in Computers in Biology and Medicine)
  • Procedural music composition software suite (written in C#, including submodules for MIDI functions, mini-DAW with a VST host, audio rendering, audio conversion, text description generation and style input compiler; the suite also included a few external utilities I wrote which I had intended to use for automated upload to stock music websites)
  • Procedural generation language compiler for generating any procedural content (this was an experiment using automata for compiler specification and my first attempt at a generalized procedural generation language)
  • Automatic method memoizer (a runtime utility module that emits IL code to add memoization to C# methods; this isn't a big deal, but it's a nice tool project example)
  • A major school website done from scratch (it was done in ASP.NET Web Forms, C# and MSSQL as the DBMS, and implemented PDF generation, video transcoding, image conversion and a custom CMS from scratch; it was done when ASP.NET MVC was still in its infancy)
  • Several many-body and particle simulations paralellized on a GPU (some are done in OpenCL, some in CUDA; with either OpenGL or DirectX for rendering)
  • Custom convolutional neural network framework parallelized for GPU execution (also written in OpenCL and CUDA, with C# API exposed)
  • A compression algorithm based on Huffman coding and LZW (written in C++; it beat RAR and Zip in text message compression — I had intended to make an efficient messenger platform, but later abandoned it in favor of other projects)
  • An automatic scoring system that runs in a virtualized environment (used for scoring student exams, based on the IOI system, but written from scratch in C# and assembly, with Windows-Linux interop)
  • Website content and video crawlers (C# server and JavaScript in-browser client; an app for using regular expressions to crawl content into XML files — I used to crawl content relatively often, so I needed a tool for doing this more efficiently, because I got tired of recycling my old code for this across different projects)
  • A suite of apps for Dungeons and Dragons games (this is only notable because I've paid special attention to the UI/UX, so the apps reflect the D&D style and feel, while being digital; I also used Bing image search to crawl the images of all the monsters and filter them according to their content, while, of course, attributing the original authors, because I'm not a douche)
  • VST equalizer plugin with pitch detection for pitch-dependent equalization (written in C++, with Steinberg VST SDK)
  • A music training suite with an audio rendering engine and a piano keyboard UI, tuner (pitch-recognizer) and spectrometer (using UWP and C#, with low-level optimized audio management, using FFT for the spectrometer and a special AMDF-based approach for pitch-detection)
  • Word-management software with a graph-based UI for tracking definitions, synonyms, collocations, rhymes, portmanteau, etc. for writers (this is an old project that used WPF and created a colorful graph-overlay when called with a keyboard shortcut)
  • Sierpinski gasket enumeration algorithm parallelized for a super-computer (C++ and OpenMP)
  • Plenty of questionable and trolly applications (one might call this malware; I guess everyone starts programming this way – no machines were damaged and no people harmed with this software, though some were laughed at)

If you've read this far, you clearly like lists, so, here's a list of some notable software packages I've worked with: MATLAB, Maple, Mathematica, Microsoft Office (I've written a few plugins for Office as well), Adobe Creative Suite (also written plugins), Cubase (written VST plugins). Additionally, I have used all of the following technologies (and many others, which I won't list, since I've forgotten how to use those, Spring Framework being one of them): OpenMP, Hadoop, PHP with Yii and WordPress, PayPal API, F#, Haskell, Android, MySQL.

I've worked quite a bit with the Azure platform, including web app management, general systems management and VM management. I've setup custom virtual machines and virtual (and physical) networks for various purposes. I have extensive experience with Git and the DevOps flow and have been specifically tasked with DevOps management, including setting up CI/CD, deployment pipelines and tests.

I worked as a systems architect, algorithm developer, and a full-stack software developer on a variety of projects and I've also had the role of a team lead, before the role was abolished from the industry. My skills also include DevOps and project management, and I've worked as a technical consultant for startup firms many times. Through these people-oriented roles, I've gained the much needed insights into the inner workings of companies, without having to start one. Also, I've been employed as an interviewer, due to my long-time involvement in education (I've been a high-school professor, university teaching assistant, university professor, and a teacher and educator for competitions in both programming and physics), so I have a reasonable amount of experience in creating and evaluating tests for different skillsets.

Currently, I prefer making and publishing applications myself, as this allows me the time to work on my projects and hobbies outside software development. Interestingly, I find it to be much better for self-improvement within the software industry, as I get to try out exactly the technologies and concepts that I want to, unconstrained by policies, practices and guidelines of any single company. Throughout the course of my education, I found that I have learned more from these personal projects then from working with companies and even from the formal University education.

Also, I like computer games of all kinds and I would say, though I didn't exactly count, I have completed dozens of them (I would say hundreds if indie games were to be counted). That's vaguely related to my skills, but I thought I should include it as an interesting addition.

Music, writing and art

I used to post my compositions, articles and drawings on this website, but I became overwhelmed by the sheer number of things I was doing, so I gradually stopped. I'm still doing all of these things, but for some weird reason, I now rarely post my work. If you want to view my old work, you can visit my old website. I promise, I've gotten much better at all of these things. I didn't want to remove all of the material I posted in the past, but I felt like moving it to a different site would be appropriate, as that content is no longer representative of what I am able to do. Currently, I have more than 60 compositions written for various arrangements, mostly contemporary-classical orchestral music and film-style music.

I'd say I'm reasonably good at the piano, since most of my composition and improvisation is done with that instrument, but I do own a few more instruments: a violin, flute, trombone, horn, a guitar and a cello. I say own, because even though I could play you a tune on each one, I dare not say I play them all. Learning an instrument takes a great deal of time and practice. On the other hand, I've found that the skills easily transfer between different instruments. I like all kinds of music, but, as I said, I mostly focus on film and classical. I've worked with audio synthesizers of all kinds and have even created my own audio synthesis engine and some VST plugins, but I prefer the orchestral sound and using orchestration to set the tone and timber to using electronic sources. Of course, I do a lot of experimentation with the electronic timbers and synth generators as well, since they can greatly add to the orchestral sound, especially when composing film-style music.

Since I'm involved in so many different fields, I started exploring the, as I like to call them, meta-concepts that are shared across disciplines. One of the major projects I've had over the years was the development of an autonomous composition algorithm which, unlike many of the recent attempts of neural composition, can be guided into composing for any genre. I developed a platform for generating audio and MIDI compositions from abstract composition specification (which basically involves writing, from scratch, a mini-DAW, VST host, compositional algorithm and a compositional language for specifying concepts from musical theory; at one point I even wrote a compiler for a subsegment of this software).

What's interesting about this procedural composition generation algorithm is that it first demanded of me to absorb a huge amount of music theory and then distill it into something that could be used by a computer. This lead me to an important discovery about the standardly taught musical theory — it is mostly descriptive and, in general, cannot be used to generate or even evaluate what sounds good. For the most part, it seems, music theory doesn't know much about the heart of music. Now, this is a generalized statement. Obviously, there are aspects of music theory that are extremely useful when composing, but they are hidden among the plethora of useless and obsolete descriptors and classifications. Developing this composition algorithm has allowed me to understand music on a much deeper level and become a better composer and musician in general. Interestingly, it wouldn't have been possible to achieve this without the combined use of software engineering and music theory knowledge and their cross-interaction.

I occasionally do photography, video editing and film (I sell a few stock photos a year, which, I guess, makes me a semi-professional photographer) and I do digital painting and drawing (again, I've sold some stock material in this area). Most of this work is private and given to people whom it was made for. Photography and painting is something I feel I need to devote more time to, but, as is the case with most art, the time required is quite often too substantial to fit with everything else I do.

Finally, aside from the necessity of having to use language to express myself and the need to maintain a decent standard of linguistic expression, I really enjoy using language to discuss ideas and convey and externalize my thoughts, so, naturally, one of my most-loved artistic endeavors is exactly writing. I love writing short stories, both allegorical and purely fictive and I relish philosophical discourse of any kind. I've written several books (which I might one day publish, if my incessant hyper-cycle of editing ever comes to a halt) and many short stories. Some of my early work remains published on my old website where there are some old articles and blog posts, but my new stories and art (those of the past decade or so), still remain unpublished.

Martial arts and physical arts

No citizen has a right to be an amateur in the matter of physical training... what a disgrace it is for a man to grow old without ever seeing the beauty and strength of which his body is capable. These are the words of Socrates, one of the most notable philosophers in the history of human kind and one would have to be astoundingly overbearing to dismiss them. Being a relatively introverted person (I don't particularly fancy socializing, but I'm told I can be quite assertive) I never had the need to be involved in any kind of sports. Yet, since I was a kid, I liked climbing, running, jumping, carrying sticks, and, as most boys do, martial arts.

Obviously, when I heard of parkour, I was enthralled. It described exactly what I was already intuitively doing, and by digging deeper into its techniques, I kept furthering my understanding of how a human body can move in space. While I was doing my studies in software engineering, I practiced Krav Maga for a few years, before I realized it was mostly commercialized garbage designed to take insecure people's money, and then transitioned to BJJ. Currently, I'm working to combine all kinds of skills from different martial arts into a coherent system that I can make work best for me. Turns out, this is mostly MMA, with predominantly skills from BJJ, Judo, Western boxing and wrestling. There's an occasional addition from the less popular arts like Kali and Pankration, some from traditional jiu-jitsu and karate, and even some leftovers from Krav Maga. However, what's even more important to me is to combine all of these, parkour and sports into a single athletics system that allows the greatest expression of one's athletic potential.

I try to be open-minded about traditional arts, such as Wing-Chun, but there's very little, in my opinion, practical utility left in these arts (although, I fully support practicing them for spiritual or traditional purposes). Certainly, there are many exercises and ideas that remain, albeit watered down, in these disciplines that can be of great value in training, if one is attentive enough to try to discern their origin and point. For example, the kinetic chaining that is characteristic of Tai chi is immensely important for understanding the so-called "snap" in boxing. As in everything else, cross-interaction between different disciplines allows for synthesis and the discovery of new ideas and principles that would otherwise be completely inaccessible. When you discover that drawing a violin bow over a string, executing an uppercut, and doing a pitch throw all rely on a very similar fundamental motion, you've discovered what I call a meta-concept — an idea that transcends a single art and generalizes to multiple, pointing beyond what is currently known and available to you. This is what learning anything is about and this is how science, arts and physical arts all connect together to point to answers of broader questions.

I base all my practice on the principles and ides from kinesiology and biomechanics (both because I'm a physics nerd and because this is how most successful coaches do it). I like to call what I do cross-integrated physical arts, as I foremost practice the mastery of my own body and martial arts seem to express that pursuit to the greatest extent. I've trained with people from different martial arts, but have never gotten myself to receive a belt from any of the major schools. So, after 9 years of doing martial arts, I'm still technically a white belt. This makes very little practical difference, aside the ever-present need for recognition — most belts will always remain white belts, in martial arts and everywhere else.