Scroll To View More
Ivan Voras, C Developer in Zagreb, Croatia
Ivan Voras

C Developer in Zagreb, Croatia

Member since June 18, 2014
Ivan is primarily a back-end developer with 15+ years of experience architecting and implementing server-side solutions, including distributed platforms, such as blockchains, chat servers, and game back-ends. He has handled DBA operations, developed modules for PostgreSQL, and has experience developing firmware for IoT devices. He helped establish the Toptal blockchain specialization, served as a tech screener, and lectured for Toptal Academy.
Ivan is now available for hire

Portfolio

Experience

  • Database Administration (DBA), 12 years
  • Database Design, 10 years
  • FreeBSD, 8 years
  • C, 8 years
  • System Architecture, 8 years
  • Python, 7 years
  • Blockchain, 4 years
  • Cryptocurrency Development, 4 years
Zagreb, Croatia

Availability

Part-time

Preferred Environment

Linux, Vim, GCC, Git, Go, VSCode

The most amazing...

...thing I've developed is a blockchain from scratch (github.com/ivoras/daisy).

Employment

  • Developer

    2015 - PRESENT
    Ideja na kvadrat (Self-employed)
    • Developed back-end for a Bitcoin tool.
    • Handled DBA and DevOps for both large companies and startups.
    Technologies: C, Go, Python, PostgreSQL
  • Kernel Developer

    2007 - PRESENT
    FreeBSD
    • Wrote kernel-side code.
    • Designed and implemented a device-level journaling module.
    • Designed and implemented a virtual storage module.
    • Gave talks at annual FreeBSD conferences.
    • Participated in the vibrant international community of users and developers.
    Technologies: C
  • Open Source Developer

    2000 - PRESENT
    Freelance
    • Authored dozens of open source projects, including applications and libraries.
    • Created a high performance memory cache server that was faster and had more features than Memcached (http://sourceforge.net/projects/mdcached/).
    • Built a module for PostgreSQL (written in C) to extend the full-text-search facility with support for the Croatian language (https://bitbucket.org/ivoras/pgdict_hrsufx).
    • Developed a module for PostgreSQL (written in C) to support on-the-fly encryption of common data types (https://bitbucket.org/ivoras/pgenctypes/).
    • Created a client-side public key encryption module in JavaScript and PHP for secure user authentication without SSL (https://bitbucket.org/ivoras/rsalogin/).
    • Developed a fixed-point header library in C for environments without floating point support (e.g. embedded) (http://sourceforge.net/projects/fixedptc/).
    • Created an encrypted notepad app for desktop and Android for editing and directly saving encrypted files (http://sourceforge.net/projects/enotes/).
    • Updated a blog regularly at http://ivoras.net/blog/tree/.
    Technologies: C, C++, Python, PHP, Java
  • Internet Services Architect

    2001 - 2015
    University of Zagreb
    • Designed and implemented the core of a web content management system back when they were a new concept (2001-2002).
    • Worked as a technology and product architect.
    • Designed a very modular web application framework.
    • Designed and optimized the design of the database to include recent PostgreSQL features.
    • Designed and implemented the server-side environment based on FreeBSD for high performance and uptime.
    • Spearheaded the implementation of new technologies into existing products and processes.
    • Completed a PhD in efficient multithreaded client-server architecture.
    Technologies: PHP, PostgreSQL

Experience

  • Daisy Blockchain (Development)
    https://github.com/ivoras/daisy

    A private blockchain where blocks are SQLite databases, in Go.

  • ESP8266 3LED (Development)
    https://easyeda.com/84e3e8ee/ESP8266_3LED_1_3-9442fb3e6844443299208137daf8dcda

    An IoT board around ESP-12S module (with ESP8266) powered by a 9V-18V DC jack, with three signaling WS2812 LEDs, two buttons, an OLED display, a beeper, and a temperature and humidity sensor. The board is meant to act as a hub and connect to other devices with more sensors.

  • Bullet Cache (Development)

    A memory cache server faster than Memcached (in its timeframe) and with more features, such as cache record tagging and tagged expiry. It also has more flexible operations on multiple cached items.

  • Needle Search Server (Development)
    https://bitbucket.org/ivoras/needle

    A very fast and streamlined full text search server using Google's LevelDB for storage. It acts as a pure REST server over FastCGI and is implemented completely in C++.

  • My Electronics Blog (Other amazing things)
    http://ivoras-electronics.tumblr.com/

    Since late 2015, I've been doing an increasing amount of work with Arduinos and similar-style electronics. I've created a blog to share what I've learned and to learn from the comments!

    I'm currently interested in low-power design and solar power.

  • Guide to Multi-processing Network Server Models (Publication)
    In this article, Toptal engineer Ivan Voras provides a useful overview and comparison of multi-processing network server models, with the goal being to take some of the mystery out of writing high performance networking code. The article is intended for "system programmers", i.e., back-end developers who will work with the low-level details of their applications, implementing network server code.
  • Software Development Anywhere: My Distributed Remote Workplace (Publication)
    Working as a remote software development freelancer has many benefits, but setting up an effective distributed working environment can be a real challenge. In this article, Toptal Engineer Ivan Voras describes how he leverages SSH and a number of related technologies, along with the Raspberry Pi and ownCloud, to be able to work effectively from anywhere.
  • Installing Django on IIS: A Step-by-Step Tutorial (Publication)
    Although the most wide-spread and supported way of running Django is on a Linux system (e.g., with uwsgi and nginx), it actually doesn't take much work to get it to run on IIS. In this article, Toptal Engineer Ivan Voras walks you through a step-by-step tutorial, clearly explaining how to install Django on IIS.

Skills

  • Languages

    Go, SQL, Python, C, Stored Procedure, Regex, PL/pgSQL, JavaScript, C++, Pascal
  • Frameworks

    Django, Knockout.js, Flask, Bootstrap, Android SDK, Boost
  • Tools

    Ansible, PuTTY, Vim Text Editor, Apache, GitHub, Django-admin-tools, Trac, Subversion (SVN), Bitbucket, KVM/Qemu, Nginx, Mercurial, SQL Prompt, VirtualBox, Postfix, Notepad++, MediaWiki, HSQLDB, Git, cURL Command Line Tool, Virtualenv, Trello, GCC, VPN, Eclipse IDE, Asana
  • Paradigms

    Concurrent Programming, Database Design, Back-end Architecture, Object-oriented Programming (OOP), DevOps, REST, Socket Programming, Real-time systems, High-performance Computing, Refactoring, Functional Programming, Clean Code, Data-driven Programming, Object-oriented Design (OOD)
  • Platforms

    Blockchain, Ubuntu Linux, Ubuntu, Raspberry Pi, BSD, Red Hat Linux, Debian Linux, CentOS 6, CentOS, Kubuntu Linux, Linux RHEL/CentOS, Unix, FreeBSD, Linux, Xen, Django CMS, Android, Raspbian, Kernel Programming, Keychain, Win32, Arduino, WinNT, Amazon Web Services (AWS), JSE
  • Storage

    PostgreSQL, Database Performance, SQLite, Memcached, Cache, FlatFile, Database Administration (DBA), SQL Stored Procedures, Database Modeling, NoSQL, LevelDB, DB, Redis, smbd, MySQL, Cassandra, SQL Performance, MySQL daemon, Internal Databases, Database Replication, JSON, Apache Derby, Firebird, LVM, CouchDB, Berkeley DB, MongoDB
  • Other

    Cryptocurrency, Cryptocurrency Development, SSL, Bitcoind, Back-end Development, System Architecture, HTTP, Open Source, System Administration, SSH, Memory Mapped Files, Documentation, White Papers, Software Architecture, Security Policies & Procedures, Architecture, ESP8266, Hardware, Electronics, Firmware, Network Programming, WebSockets, Bluetooth, Distributed File Systems, Cryptography, Ethernet, Networks, Web Services, UDP, Encryption, TCP, Embedded Systems, Site Speed Optimization, Version Control, Public-key cryptography, SMTP, SFTP, FTP, GNU, Unix/Linux Virtualization, TCP/IP, Bitcoin, RSync, Multithreading, Writing, iSCSI, Hash, Regular Expressions, HTTP Server, Data Structures, Prototyping, Consulting, Digital Electronics, Electronic Engineering, Algorithms, ARM Embedded, Apache Cassandra, Martini, Electrical Engineering, System Design, NFS, IMAP, Unix Shell Scripting, Genetic Algorithms, RPC, Memory profiling, Social Network Integration, SSO, Protocol Buffers, RSA, OAuth, Peer-to-peer Networking, Ajax, Lean Development
  • Libraries/APIs

    LibC, Sockets, HTTP API, POSIX, Lazarus, Arduino RTC, Web3.js, Masonry, Python Imaging Library, LocalStorage, AES, Puppet.js, Java Security, ODBC, Social APIs, Pygame, FFmpeg, SDL, PyGTK, Google API, pcap, ZeroMQ, jQuery

Education

  • PhD degree in Computer Engineering
    2006 - 2011
    University of Zagreb - Croatia
I really like this profile
Share it with others