Native Programming Languages
C++/11/14, C, C#/.NET, x86/x64 assembly
Lots of experience with 3D graphics, transformations, collision detection, physics, hidden suface determination and bounding volume hierarchies, animation, cubic bezier and Catmull-Rom splines, interpolation, OpenGL (old and modern), multithreaded rendering and asynchronous render worker.
Extensive knowledge of x86 and x86_64 operating system internals including the legacy protected mode, including BIOS APIs, LDT/IDT/GDT/gates/traps/descriptors/paging, filesystem structure details - mostly FAT/FAT32 and NTFS (I have implemented read/write implementations for both), memory management / paging, dynamic linking, relocations/rebasing.
Web back end
NodeJS, PHP, Express, Sequelize, MySQL, mysqli, PostgreSQL, Apache, Ubuntu Server, SSH, extensive knowledge of internet protocols.
Web front end
Exhaustive knowledge of jQuery, Chrome and Firefox debugging expert. HTML5, CSS, jQuery plugin development, AngularJS, pure JS, SVG, WebGL/OpenGL ES, Ajax and Promise/A+ expert, CORS, cross-domain, complex asynchronous pipelines, animation.
Embedded and processors
Atmel microcontrollers, electronics hobbyist, Verilog, CPU architecture and design, SSE/2/3/AVX, x87 FPU software floating point and extensive IEEE-754 knowledge, performance analysis, XPerf, Linux Perf, performance counters, instrumentation, optimization.
TCP/IP, SSH, Samba/CIFS, SSHFS, SSHFTP, Win32 sockets
Some examples: Perl (< 5), Netscape (very early JS), FoxPro 2.6 for DOS (mastered), FoxPro for windows expert, QuickBasic, VB6, Win32 COM Components, PC/AT 80286-12MHz experience (assembly, sound card hardware programming, DMA, interrupt handlers, EMS, XMS, DOS extenders, v86 mode, MS-DOS 6.22, Windows 3.1), Commodore 128D experience, Commodore VIC-20 experience (6502 assembly + ancient 2-character-identifiers BASIC). Basically since 1988.
I use Ubuntu as my OS, my main machine is a nice big fast laptop with a nice big screen.
Member for 8 years, 2 months
0 profile views
Last seen Aug 5 '17 at 16:49
- Stack Overflow 5.8k 5.8k 11 gold badge3333 silver badges5050 bronze badges
- Unix & Linux 836 836 77 silver badges1010 bronze badges
- Code Review 513 513 11 gold badge44 silver badges1111 bronze badges
- Motor Vehicle Maintenance & Repair 261 261 11 silver badge55 bronze badges
- Software Engineering 198 198 22 silver badges77 bronze badges
- View network profile
Top network posts
- 99 Creating JS object with Object.create(null)?
- 72 Is it possible to mount a gzip compressed dd image on the fly?
- 38 Array bounds check efficiency in .net 4 and above
- 37 What is the "volatile" keyword used for?
- 20 How to save the registers on x86_64 for an interrupt service routine?
- 18 Intel SSE: Why does `_mm_extract_ps` return `int` instead of `float`?
- 18 Portable periodic/one-shot timer implementation
- View more network posts →