Scroll To View More
Jacob Lifshay, Rust Developer in Stanfield, OR, United States
Jacob Lifshay

Rust Developer in Stanfield, OR, United States

Member since July 26, 2015
Jacob is a C/C++ programmer with more than 10 years of experience programming on Linux and Windows. He has designed and implemented several complex projects on both desktop and embedded platforms. Jacob commits fully to each challenge he takes on, always striving to understand concepts at the most fundamental level in order to optimize performance.
Jacob is now available for hire

Portfolio

Experience

  • Digital Electronics, 12 years
  • C, 6 years
  • Git, 4 years
  • OpenGL, 4 years
  • Ubuntu Linux, 3 years
  • C++14, 2 years
Stanfield, OR, United States

Availability

Part-time

Preferred Environment

Git, KDevelop, Ubuntu Linux, Eclipse

The most amazing...

...project I've coded is a Minecraft clone, written in C++11, with support for Redstone mechanics.

Employment

  • Participant

    2017 - 2017
    Google Summer of Code
    • Creating a software rendered implementation of the Vulkan API that uses LLVM for the compiler back-end.
    • Gained experience working with the Linux open-source graphics community.
    • Gained experience using LLVM's C API.
    • Wrote a CMake-based build system.
    • Wrote a SPIR-V parser.
    Technologies: C++, Vulkan, Software Rendering, JSON, LLVM, CMake
  • Firmware Engineer Intern

    2015 - 2016
    Derive Performance, LLC
    • Debugged embedded software written in C.
    • Wrote a JavaScript interpreter for emulating an engine computer.
    • Wrote a parallel build system to decrease build times.
    • Wrote a C++ GUI library that uses a web browser as the graphical interface.
    • Reverse engineered the computers in vehicles.
    Technologies: C, C++, Protobuf, JavaScript, HTML5, Web Sockets, Embedded
  • Contract Developer

    2015 - 2015
    Prey, Inc.
    • Created a screen locking application using C++ and Win32.
    • Gained experience managing entries in the Ctrl+Alt+Del screen from C++.
    • Gained experience managing low-level hooks on Windows.
    Technologies: Win32, C++
  • Student Employee

    2014 - 2014
    Walla Walla University
    • Created a people counter using C++ on an Mbed microcontroller.
    • Rewrote an Hour Bell controller using Bash, C++, and the Apache Web Server.
    • Created a parallel port access library using the Linux parport drivers.
    Technologies: C, C++, ARM Mbed, Linux, Raspberry Pi

Experience

  • Minecraft Clone (Development)
    https://github.com/programmerjake/voxels-0.7

    A Minecraft clone written in C++11 using OpenGL.

  • 3D Graphics Library (Development)
    https://github.com/programmerjake/lib3d

    3D graphics library with support for software rendering using a fast custom engine and hardware rendering using OpenGL. Supports output to window, disk (using FFmpeg), or terminal (using AAlib or caca). Supports render-to-texture.

  • SSA-based Optimizing Compiler Back-end (Development)
    https://github.com/programmerjake/my-compiler

    SSA-based optimizing compiler back-end. Currently targets x86 32 and 64-bit Linux. Supported optimizations include constant propagation, dead code elimination, register allocation, and control-flow simplification.

  • MIDI Wave Table Synthesizer (Development)

    MIDI wave table synthesizer converts from .mid to .wav files.

  • Hashlife-based Cellular Automaton Simulator (Development)
    https://github.com/programmerjake/hashlife

    Simple Hashlife-based cellular automaton simulator written in C++11 using SDL for graphics. Supports any 2-state rule expressible in Golly's notation (eg. B3/S23). Properly simulates changing backgrounds.

  • Kazan (Development)
    https://github.com/kazan-3d/kazan

    In-progress software-rendered Vulkan API implementation that uses LLVM as the shader compiler back-end.

  • RV32 CPU (Development)
    https://github.com/programmerjake/rv32

    A RISC-V processor written in Verilog that I can successfully run a simple 3D maze game on. The processor implements the RV32I instruction set.

Skills

  • Languages

    C++14, Assembler x86, C, Verilog, Bash, Rust, Maxima, ECMAScript (ES6), BC, MIPS, Markdown, Visual Basic for Applications (VBA), Visual Basic 6 (VB6), JavaScript, Java, D
  • Libraries/APIs

    Standard Template Library (STL), LibC, SDL, OpenGL, POSIX, Sockets, Libxcb, Libssh2, Vulkan, Pthreads, OpenSSL, HTML5 Canvas, Node.js, libpng, Windows API
  • Tools

    Gimp, Git, GCC, FASM, KDevelop, Eclipse IDE, GitHub, Meson, Mathematica, Xilinx Ise, LibreOffice, GDB, GitHub Pages, CMake, Make
  • Paradigms

    Procedural programming, Concurrent Programming, Object-oriented Programming (OOP), RISC-V, Template Metaprogramming
  • Platforms

    Linux, Ubuntu Linux, MS-DOS, Docker, Apache2, Arduino, Visual Studio Code, AVR
  • Other

    Clang, Parsers, g++, Lambda expressions, Memory Mapped Files, Lambda Functions, Digital Electronics, Analog-to-Digital Converters (ADC), Embedded Software, Digital Design, TCP, Text Processing, Regular Expressions, OS Design, Code Blocks, mbed, Matrix Algebra, Soldering, ARM Embedded, Machine Language, Neural Networks, Game AI, PID Controllers, Numerical Methods, Procedural Generation, Batch Scripting, Command Prompt (CMD), Open Source, Wine, Serial Peripheral Interface (SPI), CAN Bus, Power Electronics, Chemistry, Physics, Discrete Mathematics, Linear Algebra, Calculus, WebSockets, LLVM, MIDI
  • Storage

    SQLite
I really like this profile
Share it with others