Programmer, Researcher & Electronic Engineer
I am experienced programmer with a academic background including degrees in
computer science and electronic engineering. I have worked with multiple
computational and development environments, scientific as well as
non-scientific. Currently I am PhD student conducting part-time research. My
skills are very usable in R&D oriented jobs.
As a freelancer I approach every task individually and professionally. I make
sure that the effect of the work is something that I would like to receive
myself. I attach great importance to contact with a client, so I can make
certain that the final product is exactly what you need.
My default work environment are Linux based systems, but I have also practised
low level Windows programming. My strength is flexibility in using script
languages. Tasks such as work flow automation, collecting data from multiple
devices or implementing sophisticated algorithms are part of my part of my
Wide area of my knowledge are FPGA devices. Especially computation
acceleration using FPGA. I am skilled in implementing communication
controllers, softcore processors, digital signal processing cores and or
cryptographic cores, but not limited to those. I am also familiar with
low-level FPGA programming such as netlist direct manipulation.
My strong side is also embedded systems programing. I have experience in
multiple microcontoller families and embedded operating system including
real-time ones. I am familiar with variety of processor architectures and
I offer various IT services in following fields.
Developing software and scripts for various platforms in various languages:
- High efficient C and Fortran (95, 03, 08) based software for x86 and x86_64
- Tasks automation using script languages, including Python, Ruby and Shell
- Scientific applications using Matlab/Octave, Numpy, Scipy, Sympy
- Data mining with Pandas, PyBrains or scikit-learn
- Web scraping using Scrapy or Wombat, also with Selenium (Python bindings)
- Build automation with make, cmake, grunt, distutils
- Wrapping C and Fortran libraries into Python using SWIG and f2py
- Documentation and other text manipulations tasks with LateX, Sphinx, reST or Markdown
- Rewriting Python/Matlab/Octave code into C
Widely understood embedded systems programming:
- Bare-metal microprocessor programming of wide range of microprocessor architectures including Atmel AVR, Cortex-M, MSP430, 8051
- Modules for operating system like FreeRTOS or ChibiOS
- Peripheral devices integration like sensors, keyboards or screens
- Communication interfaces implementation based in I2C, CAN, SPI, USB, FMC, Ethernet
- Assembly language optimisations with Thumb2, AVR, 8051 assembler
Designing modules for FPGA devices, integrating and testing existing designs:
- Synthesizable constructs and test benches in VHDL, Verilog also in MyHDL
- Integrating communication interfaces
- Softcore microprocessors: picoblaze, OpenMSP, OpenRISC, OpenSPARC
- Computation acceleration, mathematic cores, digital signal processing
Constructing specialized web services, publication and presentation of complex data:
- Server side services with Flask, Bottle, Sinatra or Ramze
- Raw markup with XML and HTML, also templates with Slim, Jade, Haml or Jinja2
- Database binding with SQLAlchemy or Sequel
- Browser testing environment with Selenium
Communication is crucial for best results and your satisfaction.
I always try to write good quality code with proper documentation.
I am willing to work with fixed price or per hour projects.
Looking forward to cooperate with You !