Ivan Nikolic [lesh] Curiculum Vitae

tel +1 385 91 722 0894
email lesh@sysphere.org
google hangouts lesh@sysphere.org
freenode or oftc IRC networks as lesh
no skype, let's use meet.jit.si or google hangouts instead


OTRv2 fingerprint (IRC or IM) DF58A527 F667ED01 82728E73 ECFB997F C458666D
GPG rsa4096/0xC5F74693F248EF57



keybase github homepage

High Level Skills Overview

My knowledge of computer systems is broad and deep. I managed dev teams in biggest hosting companies in the world, worked in modern web startups, have founded a few businesses of my own and have built robots and machines for artists.

I like high level languages, designing large systems, computer security and machines. I'll prefer to work on your complicated backend architecture then on positioning calendar widgets.

I have many personal projects ranging from evolutionary programming, frameworks for distributed systems, robotics libraries, intrusion detection systems, computer vision, etc. This one time I made a custom computer powered by thousands of lemons that generates poetry.

Languages

Ocaml, JS (Coffee/Livescript/Es6), Python, Ruby, Lua, C, Scala, Scheme (I brushed upon a bunch more, I'll learn a new language when I need it. Not a big fan of php, java or perl and probably won't work with them)

Full Stack Modern Web (7+ Years)

I lean towards node, but I worked with most major web frameworks in popular languages at some point. Standard things like html5 and es6 stuff, websockets, modern web security, etc, common libs and APIs (react, redux, css/js precompilers, real time data syncing, stuff like that)

I wrote a web frameworks and libraries of my own and based startups on it, for example my own model syncing framework like meteor.com but with server push over different transports, permissions and symmetric code between servers and clients) in node.

General Architecture and Devops

15+ years of linux experience

I implemented full infrastructures for diverse companies of varying sizes and goals.

I'm familiar with things like distributed systems, automatic testing, orchestration (nixops, ansible, salt, docker, hashicorp, all the major tools in this space), monitoring, data collection, logging, graphing, scaling, backups, error recovery, clustering, in-house KVM cloud implemnetations, 0 downtime upgrades/downgrades, etc.

Security

Modern web security, malware, networks, protocols, operating systems, log collection, incident response and forensics, IDS (influxdb, ossec and such)

Knowledge of internals of different protocols, I can talk most plaintext protocols by hand with netcat.

Electronics, Mechatronics, Robotics, Random

I've built custom drones and robots, electric skateboards, computer vision backed alarm systems, experimental electronic music festivals, have maintained radar systems on ships, built custom distributed sensor networks, random art projects, etc

Random

Some opengl, computer vision, cryptocurrency etc

I have no problem in learning a new programming language or a technology, and do so often.

I am generally aware of the state of computer security in the world, regularly attending or following major conferences like CCC

Current Work

2018.08 Communications Officer at Sea Shepherd Global

emwlhxn.jpg I work as a Communications Officer and Quartermaster for the Sea Shepherd fleet.

Responsibilities on campaigns include maintaining navigation, communication and IT equipment, maintaining and piloting drones and operating the ship as an officer of the watch.

Off campaigns this involves designing and implementing fleet wide operations security, R&D etc

2017.07 Founder at Yentown.ltd

vWPZdgF.png Automated high speed crypto currency trading

Wrote a sub second resolution view of cryptocurrency markets with precise trade predictions and simulations upon which machine learning systems are built upon.

Earned around 40K EUR trading in a few months, needed a network of lawyers and companies around the world, too big of a bite for now, shelved the project

2011.08 Founder at Bitcoinlab

spinner.png Started as a small bitcoin experiment few years back which ended up as a company with a few occasional employees and as my main source of income. Check battlecoin, do a "solo test". Its full stack (from object model, event subscribers and JSON validators to web/networking/game/graphics engines were written entirely by me

BattleCoin.org

featured on motherboard.vice, coinfest uk, numerous news channels.

2013.06 Cofounder at Wave International

fzf2AoD.png Maybe one of my favorite jobs, an unusual tourist agency currently focusing on Korean tourists in the Philippines, did the online side of the job, with occasional on the field stuff to create content for the site, explore for new tours, etc. Our profits are doubling each year! The website is running my most experimental backend ever, I invented universal javascript and a bunch of things that are considered bleeding edge today, not the best idea if you just need a quick simple backend, let me tell ya.

Brief Recent Employment History

this job/project list can be much more verbose, and I omitted the ones I don't consider particularly important. I also didn't write about tech parts of art projects much because I think that you probably don't care about those.


2017.09 - 2018.06 Developer at Creative.ai

DDlEDFl.jpg

Euroean fully distributed flat hierarchy startup, working in ML for augmented creativity.

2016.06 - 2017.09 Cofounder At Resbou / Sloane Lane

ZlLmMOa6_400x400.png Startup revolving around property management with a fairly techy infrastructure aspirations.

Wrote from scratch a fully distributed self scaling clustered backend with 0 downtime upgrades and no single point of failure.

On top of this, apart from our web services, I implemented a distributed task execution system. Tasks being things like data scrapping and crunching that can have dependencies on each others data, automatic retrying etc. Execution was parallel when possible and tasks were able to migrate mid execution to other machines in case of scaling or crashes.

Made an easy library for new task creation so contractors can implement scrapping and things like this for us.

2012.02 - 2013.03 Developer At TopHat

256px-Top_Hat_logo.svg.png Education software startup in Toronto, Canada.

They had no TDD and their codebase was unstable and difficult to work with (changes on one thing lead to errors on an unrelated thing)

In order to speed up the development I implemented a fancy testing framework using pluggable backends, selenium, phantomjs or zombiejs to browse our testing instace. testing machines are very light, and test case code and the api is transfered from the central testing server to them. (they can be local netbooted machines or amazon AMIs) the testing process is nontrivial, some test cases require multiple users in different states to be logged in and interact with each other. server knows about a graph of possible client states and finds paths through those.

html5 multiplayer game framework - with logic entirely hosted on client computers with only messaging broker on the serverside, supporting large number of clients.

adminui - random internal services like alerting system connected to nagios, adding dynamically booted virtual machines to nagios/munin, generic logging sytem, smart task execution system with alerts if there are problems, database dumping, load monitoring/booting additional virtual machines, and such things.

2011.09 - 2011.12 Developer At Tradehill Inc

6c74c83d676d83fdafe681e43bd58b06_400x400.jpeg A second largest bitcoin exchange at the time worked with a small team on early prototypes before asking for aditional funding.

I made a mobile payment system frontend (backbone, sencha touch). the system uses html5 geoloc to locate nearby merchants/users that see each other in the ui

a new realtime backend prototype

2010.05 - 2011.05 Lead Developper At Reflected Ltd And Swiftwill Ltd

CXAayv4.png those are two managed hosting companies, under the same management, hosting some of the highest bandwidth websites on the internet, and with a lot of interesting problems to solve.

Lead developer in a team of 6 devs, I was working on:

internal and client facing web interface for administration/data viewing, live traffic data collection and displaying from mutliple content delivery networks, etc

javascript flot based graph viewing tool that works a bit like google maps with zoom/pan and dinamic graph resolutions. supports simultaneous display of multiple datasources, designed primarily to show different rrds, supports overlaying different information on a timeline, like "packet x was upgraded" or "port 123 was opened"

RPC above zeromq for automatizing all kinds of things from firewall opening upon sso signons, automatic server data pooling/pushing, to automatizing menial administrator tasks. the RPC will have introspection methods in order to automatically generate GUI for available calls.

Bannana Poetry

with Ines Krasic, prodean at croatian art academy. my part was a crawler that does markov chain analysis of a text, searches for rimes, and attempts to write poetry. the whole thing is running on a microcontroller with an eink display, powered only by fruit. that was difficult :) check out a photo

exibited in gallery galzenica in croatia, blasthaus gallery in san francisco, and national museum of china on translife 2011

Sound Table

for Iva Curic, artist from croatian art academy a sound generating table with magnetic sensors (see video). My part was a software with realtime opengl representation of a system and realtime sound generation, all electronics and programming of atmel microcontroller. the whole table is a bluetooth device sound-generating computer connects with. short youtube video

Personal Info

45217945715_e08e251ed1_o.jpg

I started playing with electronics and programming when I was around 8-10. In the last 10 years I've lived in Toronto, Seoul and Cebu (Philippines) and I'm currently based in Athens.

When home in Croatia, I'm often hanging out in a hacklab in mama, we have space in the center of Zagreb where we organize lectures, workshops, or just sit around (official site) I found some extremely talented people there.

Technology is a passion so I work on these things in my spare time and have a lot of personal projects.

I'm sometimes working on technical parts of new media arts and I'm frequently collaborating with Croatian Academy of Arts. Those works mostly involve programming and robotics. I listed just a few as I suppose you don't care about those as much.

Personal Projects

This is a large list and I will write about a small part to paint a general picture.

[I'm sorry I don't link and describe each one in detail, also this spans so long in the past some of these are emberrassing, but I'll be happy to talk about it and look it up, maybe look at my blog, which also needs to be updated :)]

Bitcoin Related Projects

I've been with crypto since the start, working with others and on solo projects. I did some automated trading, some micro services, some larger projects like tradehill or battlecoin.org.

A lot of node libraries

I built these usually quickly and out of necessity, they are more sophisticated then current popular state of the art projects. I'll list them in order of how they depend upon each other

backbone4000

advanced object model based on backbone, simpler obvious fixes original backbone caught up on eventually

abstractman

Building different types of graphs, state machines etc. Used to impose some structure on logic of complex systems.

json validator/modifier

A fairly small project, but I like the API. It's older and a few orders of magnitude faster and more feature rich then most popular projects that have a simmilar functionality.

In some backends the permission system configuration is configured in this language, and it automatically specifies form validation as well since this can run on both serverside and clientside.

nodejs-subscriptionman2

event and message matching built on top of the json validator

logger3

flexible logger with hierarchical sub-loggers and pluggable outputs.

logs in general should be tree like structures and not lists, and we need a specialized database that doesn't exist for this kind of data, log levels and grepping are bad way to filter messages.

This project allowes me to reconstruct a full session of a particular user only within some particular context (interaction with another user for example) or view it in real time.

lweb3

I use this to build complex protocols and systems quickly.

Its an abstract communication framework with pluggable transport protocols as well as communication protocols that can depend on each other.

For example. Event subscription protocol needs a query/reply mechanism. HTML tranport offers this out of the box, but TCP transport automatically includes this subprotocol if I need subscriptions on top of TCP.

Channels and broadcasts are then implemented on top of the subscription protocol.

2D-game-engine

Its a network game engine with opengl and svg renderers.

I treat all games as complex cellular automata. On top of it, a full multiplayer bomberman game with sound and textures is about 200 lines of code both server and client.

Custom Linux Shell

with extensive pattern recognition in attempt to predict chains of commands after specific commands/syslog events//proc or /sys changes

Some Easy Computer Vision Stuff

dual camera 3d location reconstruction, movement detection, people detection etc, mostly using opencv, mostly used in random art projects and fun things like measuring how much people dance for a DJ competition, how fidgety I'm sleeping, robot collision avoidance and SLAM, weird user interfaces, etc.

Evolutionary "Solution" Searcher For Iterated Prisoners Dilemma

wikipedia on prisoners dilemma, screenshot

General Framework For Genetic Programming

and a simple initial RAM-machine like computer language for evolving and initial problem, evolution of cellular automatas, ended up as an awful musical instrument among other things screenshot 1, screenshot 2

Framework For Simulation Of Multiagent Systems

for evolution experiments and its first usage as simulation of a world of an ant and attempt to evolve its strategy, (agents can lay scent, look around, and pick up things) screenshot

Physics Simulation Used To Evolve Walking Bodies

Almost a standard machine learning test these days I guess, I needed this in order to evolve solutions to problems related to real world robot bodies as well as experiment with the body design itself screenshot

My Own Genetic Programming Languages With Strict Type System

designed after reading about a few academic evolutionary programming languages (push) this is a work in progress.

Formal Education

I've never graduated, didn't like the studies available at the time and I ended up working too soon.

Faculty of Engineering of Zagreb, Computer Engineering, 2 years

University of Zagreb Faculty of Science, Department of Mathematics, 3 years

Created: 2020-05-04 Mon 21:11

Validate