Skip to content
View mlt's full-sized avatar

Block or report mlt

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mlt/readme.org

Visitor counter

👋Hello, my name is Mikhail (Mike) Titov

./github-metrics.svg

🚀About Me

Thank you for visiting my GitHub profile. I enjoy solving problems, coding, automating tasks, fixing stuff, and contributing to open-source projects. I like to explore new territories that is why over the years I tapped into diverse areas stretching over low-level machine instructions coding on Z80, numerical methods in mathematical physics, OpenGL, computer networking, applied cryptography & privacy, COM & CORBA, GIS, and databases.

🔍Programing Languages

R
I fell in love with R working as a Graduate Research Assistant and I used it for a number of tasks ranging from simple tests to data visualization using both lattice and, later, ggplot2 packages. I wrote a few small packages TMDL, CSDF, swat2r, and a number of handy stand-alone functions as well as scripts for QGIS plugin Processing Tools now known as The Toolbox. Also I contributed bug fixes and enhancements to PL/R, a PostgreSQL procedural language extension to run R code server-side. The most prominent bug was the lack of wrapping R_ParseVector in R_TopLevelExec that caused PostgreSQL backend crash if there were benign issues like bad syntax in user R code.
Python
I got to know Python through Plone CMS/Zope back in 2004. I extensively used Python for geoprocessing and ArcGIS scripting. I wrote a couple of QGIS plugins using Python & QT: a helper to set up data for PIHM and a brute-force approach to extract stage-area curves along with discretized polygons from Digital Elevation Models given a starting set of points of interest. I also used Python while reverse-engineering communication protocol for a plethora of inexpensive GPS-enabled sport watches.
Ruby (RoR)
I used Ruby on Rails and PostgreSQL along with a number of extensions to set up a work group portal to manage assorted data sets pertinent to agricultural research and heavy leaning on loggers data with a twist of versioning. While working on that, I made contributions to the following gems tabulatr2, torque-postgresql.
Java
I contributed to the following projects: some UI enhancements to Zandy (Zotero client for Android), FXDesktopSearch (MS Office keywords tokeniziation with Apache Solr and multivalued faceted search/drill down), Time4J typo, bug fixes to Fiji/ImageJ plugins: Trainable Weka Segmentation (failure to load classifier), TrakEM2 (final render and broken mesh topology) . Also I used Apache Tika to write custom metadata extraction for RoR-based data management portal.
C
Notable contributions: msmtp, sqlite_fdw, PL/R, libxml (incomplete buffer flush), udisks (EBR parsing bug in Ubuntu 14.04), FreeRDP (broken audio output redirect), Rockbox firmware (Monkey Audio decoding bug).
C++
I started with Borland Turbo C++ in ‘99 and later C++ Builder. In ‘01, I undertook a solo project for a local PC gaming lounge that used Windows 98, enabling them to enforce customer compliance with paid playtime and to prevent overstaying. That involved kernel-mode input filter & hardened client shell to turn gaming station into a kiosk, as well as custom VCL components and UDP-based protocol. I used C++ as well as Borland-flavoured CORBA extensively at my university for numerical methods. More recently, I improved integration into I2P network for libtorrent & i2pd.

🎯Currently

Seeking opportunities in (embedded) software or data engineering, testing & troubleshooting, or DevOps to drive innovation and enhance software quality. Committed to continuous learning and professional growth.

💡What I Believe In

  • Clean, readable, and maintainable code is just as important as functionality.
  • Continuous learning fuels growth—whether through new programming languages, frameworks, or problem-solving challenges.
  • Collaboration and knowledge-sharing are essential for building better software and stronger teams.

📫Contact

I do not maintain social media profiles. Please, use e-mail to reach me.

🙃Misc

Popular repositories Loading

  1. schwinn810 schwinn810 Public

    Software for Schwinn 810 (and also some Mio, Cresta, and RedClover) GPS sport watch with heart rate monitor (Linux, Windows, and Mac OS)

    Python 14 6

  2. temporal_tables temporal_tables Public

    Forked from arkhipov/temporal_tables

    Temporal Tables PostgreSQL Extension

    C 12 2

  3. matlabShell matlabShell Public

    CLI interface to Matlab for Emacs on Windows

    C 10 4

  4. swat swat Public

    SWAT is a river basin scale model developed to quantify the impact of land management practices in large, complex watersheds. SWAT is a public domain model actively supported by the USDA Agricultur…

    Fortran 9 10

  5. undark undark Public

    Forked from DavidVentura/undark

    Undark - a SQLite recovery tool for deleted data or corrupt database

    C 6 1

  6. gtkmm gtkmm Public

    Native CMake based build of GTKMM 3 on Win32/64 using MS Visual Studio C++ on top of OBS or MSYS2

    CMake 4 4