Jack LaSota
Verified Expert in Engineering
Software Developer
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.
Portfolio
Experience
Availability
Preferred Environment
JetBrains, Git, Visual Studio
The most amazing...
...thing I've written is an indie puzzle game which you can download at Dystheismgame.com
Work Experience
Software Engineer (Contractor)
Berkeley Lights
- Wrote CI scripts to deal with the peculiarities of version control usage.
- Wrote deployment code.
- Improved the testing framework.
Intern
Oracle
- Did research on formal verification.
- Wrote formal verification tests.
Intern
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.
Experience
Rotation API
The API I developed is better than this API since mine abstracts over the math operations, which I implemented in my "quaternion" class, and names things according to semantics. It's dependent on the Unity game engine and a bunch of code from my game. I'm considering splitting it out into an open source library.
StereoCat
http://ccmc.gsfc.nasa.gov/analysis/stereo/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
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#, CSS3, XML, Python, C, C++, Embedded C, SystemVerilog, JavaScript
Paradigms
State Pattern, Functional Programming, Test-driven Development (TDD), Model View Controller (MVC)
Frameworks
Unity3D, Dojo, Windows PowerShell, Unity
Libraries/APIs
WebGL, HTML5 Canvas, jQuery UI, jQuery, Blender Scripting API
Tools
Visual Studio, Git, JetBrains, Windows Installer, MATLAB, Blender
Platforms
Windows
Other
TFSVC, MSP430, Naked Objects Pattern, APIs
Education
BS in Computer Engineering
University of Alaska Fairbanks - Fairbanks, AK, USA
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring