David Karnok

Research Fellow at SZTAKI (Institute for Computer Science and Control)

Budapest, Central Hungary
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
David Karnok is a research-focused software engineer with 14 years of experience specializing in reactive systems and backend development, currently a Research Fellow at SZTAKI in Budapest. He has made substantial open-source contributions to seminal projects like Reactor, RxJava, Helidon and Rx.NET, improving operator correctness, concurrency handling, and lock-free disposables across JVM and .NET reactive ecosystems. His work emphasizes robust error management, specification compliance and performance-sensitive fixes—often at the operator and disposal level where subtle bugs hide. Trained in both mechanical engineering and computer science at BME, he brings a systems-thinking approach that bridges rigorous research with production-grade engineering. Colleagues would note his knack for finding and fixing concurrency edge cases and for clarifying behavior through improved documentation and tests. He is actively exploring large language models for cosmological problems, combining hands-on coding with curiosity-driven research.
code14 years of coding experience
bookMaster of Science (MSc), Mechanical Engineering & Computer Science, Master of Science (MSc), Mechanical Engineering & Computer Science at Budapest University of Technology and Economics
stackoverflow-logo

Stackoverflow

Stats
69,562reputation
6.0mreached
1,394answers
50questions
Badges
swing
top-5%
java
top-1%
observable
top-1%
reactive-programming
top-1%
oop
top-5%
arraylist
top-5%
github-logo-circle

Github Skills (43)

asynchronous10
kotlin10
multithreading10
api-design10
async10
rxjavafx10
java10
netframework10
javas10
performance-optimization10
observable10
android10
rxjava10
dotnet-core10
reactive-streams10

Programming languages (14)

C#JavaC++ScalaGoGroovyKotlinTypeScript

Github contributions (5)

github-logo-circle
ReactiveX/RxJava

Nov 2013 - Jan 2023

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
Role in this project:
userBackend Developer
Contributions:136 releases, 92 reviews, 1888 commits in 9 years 3 months
Contributions summary:David's contributions center around implementing core features and error handling within the RxJava library, particularly related to the Completable, Maybe, and Single reactive types. They focused on improvements around correct disposal behavior and error management, addressing issues in concurrent operations such as flatMap and various merge and sequence operations. Additionally, the user implemented new operators and expanded the existing ones, involving improvements in their internal working and javadoc clarification.
asynchronousjavajvmreactive-extensionsrxjava
dotnet/reactive

Aug 2016 - Oct 2021

The Reactive Extensions for .NET
Role in this project:
userBackend Developer
Contributions:5 reviews, 201 commits, 177 PRs in 5 years 3 months
Contributions summary:David focused on enhancing the performance and stability of the Rx.NET library's core components. They implemented lock-free methods for several key classes, including `MultipleAssignmentDisposable`, `AsyncLock`, `CompositeDisposable`, `AutoDetachObserver`, `PriorityQueue`, and `ObserveOnObserverNew`. Additionally, they refactored and improved existing operators, such as `Concat`, `TakeUntil`, and `RetryWhen`, and fixed memory and cancellation-related issues.
dotnetreactive-extensions
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial