Scroll To View More
Jack LaSota, Software Developer in Hayward, CA, United States
Jack LaSota

Software Developer in Hayward, CA, United States

Member since August 24, 2016
Although Jack has enough of a computer science background to turn algorithms into code, most of his skills originated from an indie puzzle game that he wrote alone. He learned that he had to be a perfectionist about best practices in order to avoid slowing to a crawl on large projects. He developed another successful (niche) major project: a front-end only single page web app, wearing every hat and talking to the users about what they needed.
Jack is now available for hire

Portfolio

Experience

  • Unity3D, 7 years
  • C#, 6 years
  • C++, 4 years
  • Functional Programming, 2 years
  • Test-driven Development (TDD), 1 year
  • Python, 1 year
  • C, 1 year
Hayward, CA, United States

Availability

Part-time

Preferred Environment

Visual Studio, Git, JetBrains

The most amazing...

...thing I've written is an indie puzzle game which you can download at Dystheismgame.com

Employment

  • Software Engineer (Contractor)

    2016 - 2016
    Berkeley Lights
    • Wrote CI scripts to deal with the peculiarities of version control usage.
    • Wrote deployment code.
    • Improved the testing framework.
    Technologies: C#, PowerShell, TFSVC, Windows Installer XML
  • Intern

    2014 - 2014
    Oracle
    • Did research on formal verification.
    • Wrote formal verification tests.
    Technologies: SystemVerilog
  • Intern

    2011 - 2013
    NASA GSFC
    • Developed a tool for space weather analysis that's been used by multiple space agencies. Can be found here: http://ccmc.gsfc.nasa.gov/analysis/stereo/.
    • Created a WebGL front-end for a port of another space weather analysis tool.
    • Made a widget to display a timeline of space weather events.
    • Optimized code to make computations that took several seconds to happen in real time as the use dragged the mouse, drastically improving UX.
    • Wrote fully serializable interfaces to allow space weather forecasters to share how they'd made measurements by sending a URL.
    Technologies: jQuery, jQuery UI, WebGL, Dojo, CSS3, HTML5 Canvas

Experience

  • StereoCat (Development)
    http://ccmc.gsfc.nasa.gov/analysis/stereo/

    Used by NASA, the Korean Space Weather Center, and UK Met Office.

    It computes trajectories of coronal mass ejections.

    The entire interface state is savable to a URL, allowing forecasters to share their work.

    It has a browser for multiple streams of gappy satellite data. In addition, it consolidates data from multiple sources on a load from file or URL before repeating computations, and has interfaces to let the user retry the requests for specific data it can't show (i.e. if the servers fail).

    Plus it is also able to generate histograms, line charts, and custom canvas-rendered timelines.

    Finally it also supports several variants of the stereoscopic computation to handle different situations of available data.

  • Dystheism (Development)
    http://dystheismgame.com

    It has A* pathfinding that runs on the full 3D level in a frame. This is a requirement because the terrain is modifiable in the course of a frame, and this is a puzzle game so the enemies must be predictable which means exact.

    In addition it must also be flexible enough to support enemies as diverse as humans, spiders, and fireball throwing variants of each that will light terrain on fire and can indirectly reach you with the flames, in the fastest way possible.

    It has caches of parts of the level relevant to pathfinding that are kept coherent when the terrain changes.

    Changes to the terrain of all levels in the game is serialized in a saved game because you can come back to them and there are puzzles based on that. There's differential saving which has to be fast enough for autosaves to be unnoticeable.

    It has a level editor GUI with voxel-based editing of terrain, naked objects reflective editing, which uses multiple views into overlapping sets of level files to edit groups of levels and the stuff common to a series of levels.

    It also has a scripted custom 3D mesh, armature, animation generation and import pipeline in Python, which intercepts Unity's calls to Blender.

Skills

  • Languages

    C#, Python, C, C++, Embedded C, SystemVerilog, JavaScript
  • Paradigms

    State Pattern, Functional Programming, Test-driven Development (TDD), Model View Controller (MVC)
  • Frameworks

    Unity3D
  • Libraries/APIs

    jQuery UI, jQuery, Blender Scripting API
  • Tools

    MATLAB, Blender
  • Platforms

    Windows
  • Other

    MSP430, Naked Objects Pattern

Education

  • BS in Computer Engineering
    2009 - 2013
    University of Alaska Fairbanks - Fairbanks, AK, USA
I really like this profile
Share it with others