avatar  
Dmitry Dvoinikov
Software developer

The only way to get something done is to start and then don't stop.
The usual:   Resume  ·  LinkedIn  ·  GitHub  ·  E-mail
Articles and series of articles:   • Experimental measurement of FPGA registers power consumption
• Learning FPGA programming, key points for a software developer (3 parts)
• VPNs, how to use them properly and stay anonymous (5 parts)
• The effects of data fragmentation in a mixed load database
• Password keeping devices. Comparison of YubiKey vs. OnlyKey
Open-source projects:   • MIDIplan (MCU-based General MIDI to device-specific converter)
• Evar (cooperative task scheduler with message passing for embedded)
• Pythomnic3k (Python3 application framework)
• Nest (IP VPN daemon)
• HTTPort (TCP over HTTP tunnel)
• Pay Gap Puzzle (JavaScript game)
• Green (e-mail spam filter)
• Bootable FreeBSD CD (minimal and secure)
Python utilities:   • Function guards for Python 3
• Method signature checking decorator for Python 3
• Method signature checking decorators for Python 2.x
• Yet another Design By Contract module for Python
• Assertion that a code fragment throws a particular exception
• Decorator to make a decorated call in a separate thread with timeout
• Formats current exception with stack trace so that it fits in single line and has known encoding
• Shared lock (aka reader-writer lock) with timeouts and FIFO ordering