Igor Ševo

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 a bit informally: I'm Igor Ševo, a philosophy and science enthusiast with a PhD in computer science and machine learning. I have 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 specific field of science, my main area of interest. I believe that the path to real knowledge is through understanding as much as possible about all areas of human endeavor and not focusing on a single one. The cool image of me. However, when one presents themselves that way, people become rightfully skeptical. Personally, I am a bit tired of the self-proclaimed Renaissance men and philosophers who have no real grounding in science or art. So, the only bit of proof I can offer you that I might actually be capable of such a feat is the fact that I was a member of Mensa high IQ society with the maximum score on the test (on my old and outdated website, where my introduction was way more awkward, you can find the exact number, if you care – I don't think you should, it tells you very little about who I am).

I brought up this site to serve as a short personal biography and a kind of CV, for anyone who is 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 is supposed to be a bit more personal (so, don't be surprised if you encounter "foul language").

In short, I've graduated and obtained my PhD in the shortest possible timeframe 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 to remain in this relatively forsaken place. The reasons for this are mostly private, but suffice it to say, I prefer the kinds of freedoms that are only pertinent to the Balkan way of life and its somewhat frivolous culture – some very old values that the Western world is forgetting are still being passed on here, and though they may seem trivial and even backward, they allow for a unique bond with nature and freedom of spirit, if one is careful and attentive enough to find it. I get to do my work in relative piece and for my own sake. Obviously, I've published papers in international journals and have worked with some serious companies (although, one could argue about what serious company may represent), but this is not much more than a means to provide income and sustain the creative endeavors I truly care about.

This is absolutely not saying I've abandoned science and research. However, writing papers amid a crisis in science, where the journals are seeking to increase a set of arbitrary metrics rather than reviewing the content for its actual value, just for sake of a hope of temporary popularity that will certainly be overshadowed by corporations publishing their own work, is really not the best usage of one's time, in my opinion. Especially if one is to devote their time for several different activities. I keep asking myself the question: 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 drift towards metaphysics. 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 choices, 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 10883.98 days old. That's about 30 years. That's 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 drift between more science and engineering oriented study and more art and sport oriented study. However, I never abandon any of these activities, just shift my focus, as they all feed my general goal. There's never a lack of philosophical exploration of the meta-concepts that underlie all that can be learned.

I firmly believe that one can only arrive at their own purpose and actualisation through deepening the understanding of the universe around, and that 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, I'm not quite sure what an arbitrary reader may define as a "career", I'm aware that it is usually related to the field where one obtains a degree. I'm mostly interested in machine learning and artificial intelligence, mainly 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, from 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 given 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 employed at University of Banja Luka and working on other projects, both as an independent app developer and through my hobbies (stock photography and stock music included), 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 with unreadable languages like Python or JavaScript. I've also written software in Java, Delphi (apparently I'm old), C and assembly. 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 little list of some of the things I've made over my 16 years in the software industry (in the order in which I thought of them).

  • Over 100 apps for different platforms (mostly Windows, some for Android), from stopwatches over content-aggregators to large software applications for specific user-groups
  • A vehicle tracker and detector deployed for surveillance (Python and Tensorflow with a modified SSD neural network)
  • Several simple 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
  • 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 automatic uploading 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 I like it in this list)
  • 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 CNS from scratch; it was done before ASP.NET MVC)
  • 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 for 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 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 done some plugins for Office), Adobe Creative Suite (also done some plugins, Cubase (done some VST plugins). Additionally, I have used all of these technologies (and many others, like the Spring Framework, which I won't list, since I've forgotten how to use those): 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, VM management. I've setup custom virtual machines, 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, 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 a single company. Throughout the course of my education, I found that I have learned more from these personal projects then from working with companies.

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 my personal website, but I became overwhelmed by the amount 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 I love composing and improvising, 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 lot of time and practice. However, 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.

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 the 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).

I do some photography (I sold a few stock photos, which, I guess, makes me a semi-professional photographer) and I'm also a writing and drawing enthusiast. It is yet to be seen how much of my new content will actually be posted here. Some of my stories and art remain published on my old website. There, you can also find a few of my old articles and blog posts.

Martial arts and physical arts

Mens sana in corpore sano said Juvenal, and I tend to agree. Being a relatively introverted person (I don't particularly fancy socializing, but I can be very 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. That was exactly what I was doing, I just hadn't been aware of it. The only component that was missing were martial arts, with which I had little contact before I enrolled at the university. While I was studying, I explored Krav Maga for a few years, before I realized it was mostly bullshit and then transitioned to BJJ. Now, I'm working to combine all kinds of skills from different martial arts into a system that I believe works best (for me, of course). Turns out, this is mostly MMA, with predominantly skills from BJJ, Judo, kickboxing, Western boxing and wrestling. There's an occasional addition from the less known arts such as Kali, Pankration, some from traditional jiu-jitsu and karate, and even some leftovers from Krav Maga. I try to be open-minded about traditional arts, such as Wing-Chun, but there's very little, in my opinion, practical utility in these arts (although, I fully support practicing them for spiritual or traditional purposes).

I base everything on solid kinesiology and biomechanics (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 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 8 years of doing martial arts, I'm still technically a white belt. This makes little difference to me (though, I'll admit it, there's always a small part of me that wants to be formally acknowledged), most belts will always remain white belts, in martial arts and in everything else.