{"version":3,"sources":["media/softwareicontransparent.png","components/Home.jsx","components/About.jsx","components/Projects.jsx","components/Blog.jsx","components/CustomNavBar.jsx","components/Footer.jsx","App.js","serviceWorker.js","index.js"],"names":["module","exports","Home","Container","Jumbotron","to","Button","bsStyle","Component","About","href","Projects","style","marginLeft","marginTop","marginRight","marginBottom","Tab","id","defaultActiveKey","Row","Col","sm","Nav","variant","className","Item","Link","eventKey","Content","Pane","Blog","props","toggleSelectedDate","selectedDate","setState","state","entries","entry","date","selectedEntry","getDates","validDates","push","map","index","key","Date","toDateString","getVideos","videoUrls","media","videos","length","videoUrl","url","getLinks","linkUrls","links","linkUrl","this","blogdata","onSelect","entryText","CustomNavBar","getBlogEntries","Navbar","default","collapseOnSelect","expand","bg","Brand","src","logo","width","height","Toggle","aria-controls","Collapse","active","location","pathname","as","withRouter","Footer","Text","App","exact","path","render","routeProps","Boolean","window","hostname","match","ReactDOM","StrictMode","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console","message"],"mappings":"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","file":"static/js/main.e9d5ddfb.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/softwareicontransparent.166bb720.png\";","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Jumbotron, Container, Button } from 'react-bootstrap';\nimport '../stylesheets/Home.css';\n\nexport default class Home extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

Welcome!

\n\t\t\t\t\t

My name is Lukas Jenks and I'm a Software Engineer and graduate student who\n\t\t\t\t\tloves programming and exploring the problems applied computer science can\n\t\t\t\t\tsolve/its limits. I'm currently based in Edmonton,\n\t\t\t\t\tAlberta. This is my personal blog/portfolio site.

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Jumbotron, Container, Row, Col, Image, Button } from 'react-bootstrap';\nimport '../stylesheets/About.css';\n\nexport default class About extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t

About

\n
\n
Summary
\n

My name is Lukas Jenks; I'm a Software Engineer full-time and graduate student part-time at the Georgia Institute of Technology. I've been lucky enough to work in development professionally in multiple industries and domains (since I graduated with my B.Sc. in Computer Science), and love what I do. I like to explore the variety of issues applied computer science can solve (see the \"Projects\" tab of this site), and academically, my current research focuses on applying cognitive science models to deep learning methods.

\n
\n\t\t\t\t
This Site
\n\t\t\t\t

For those curious, this simple site was made in\n\t\t\t\t React.js/Golang, probably my favourite web stack (although Rust has lately become\n\t\t\t\t a contender for me too). It's hosted on my DigitalOcean\n\t\t\t\t server, along with a few other sites/services I'm running. Here's the source for this\n\t\t\t\t site if you're interested in making one like it:\n\t\t\t\t

\n\t\t\t\t \n\t\t\t\t https://github.com/lukasjenks/blog-site\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t
Links
\n\t\t\t\t

My Github:

\n\t\t\t\t \n\t\t\t\t https://github.com/lukasjenks\n\t\t\t\t \n\t\t\t\t

My LinkedIn:

\n\t\t\t\t \n\t\t\t\t https://linkedin.com/in/lukasjenks\n\t\t\t\t \n\t\t\t\t
\n
Contact
\n

Contact me on LinkedIn:

\n\t\t\t\t \n\t\t\t\t https://linkedin.com/in/lukasjenks\n\t\t\t\t \n\t\t\t\t

Or email:

\n\t\t\t\t lukasjenks@gmail.com\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Jumbotron, Container, Row, Col, Image, Button, Tab, Nav} from 'react-bootstrap';\nimport '../stylesheets/Projects.css';\n\nexport default class Projects extends Component {\n\trender() {\n\t\treturn (\n
\n
\n

Solo Projects

\n
\n\t\t\t\n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t

Group multiplayer Unix terminal-based battleship game implemented with a client program and a multithreaded server program using Unix-based IPC programming in C. The server program handles connections and requests from multiple client programs and can handle these client connections and requests simultaneously. Players are conjoined in a circular turn system (A->B->C->A, etc.). Currently, the IPC is implemented with Unix sockets; Development now is focusing on converting this project to using TCP/IP sockets, so play is possible outside of a shared Unix server.

\n\t\t\t\t\t

Source available here:

\n\t\t\t\t\thttps://github.com/lukasjenks/battleship\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

A variety of system utilities for unix-like operating systems written in both C and Bash. Examples include a system level utility written in C that monitors and manages processes running on a unix-like OS with w&x memory, and a script written in bash that monitors users on a unix-like OS, and determines how much CPU time they've taken up across their various processes.

\n

Source available here:

\n https://github.com/lukasjenks/unixutilities\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

My personal distribution of emacs including a variety of custom-made plugins. As an example, one plugin, tldr-newsletter, pulls the latest daily tech news from tldrnewsletter.com and renders the retrieved html within emacs. Another example is a plugin that was custom made for Method1 Software's internal \"Apex\" web framework that allows you to live edit code within the framework itself, which could previously only be done in a web browser.

\n

Source available here:

\n https://github.com/lukasjenks/emacsconfig\n\t\t\t\t\t
\n \n

Simple general purpose custom Discord bot created with Node.js/sqlite3. Includes a custom quoting and custom picture/GIF recall system among other things.

\n

Source available here:

\n https://github.com/lukasjenks/davisbot\n
\n\t\t\t\t\t\n\t\t\t\t\t

The site you're reading off of right now! A very simple portfolio site\n\t\t\t\t\t made in React.js/Golang.

\n\t\t\t\t\t

Source available here:

\n\t\t\t\t\t https://github.com/lukasjenks/blog-site\n\t\t\t\t\t
\n \n

More solo projects to be listed here soon as I continue with code cleanup and licensing of older code projects. Some projects not listed here can be found on my github page:

\n https://github.com/lukasjenks\n
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n
\n
\n\t\t\t

Group Projects

\n
\n\t\t\t\n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t

Using the Godot game engine, 2 others and myself created a complete 3D horror game during a 48 hour game jam (hackathon). We had no previous experience with the engine which made the process a lot of fun!

\n

The game is available for download here:

\n https://tehzwen.itch.io/the-darkness-beneath\n\t\t\t\t\t
\n \n

While participating in a 24 hour hackathon, 2 others and myself created a full stack web application, similar to GasBuddy, in React.js/Golang.

\n

Source available here:

\n https://github.com/CooperWallace/BoozeBuddy\n
\n\t\t\t\t\t\n

More group projects to be listed here soon as I continue with code cleanup and licensing of older code projects. Some projects not listed here can be found on my github page:

\n https://github.com/lukasjenks\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t
\n
\n\t\t);\n\t}\n}\n","import React, { Component } from 'react';\nimport ReactPlayer from 'react-player';\nimport { Link } from 'react-router-dom';\nimport { Jumbotron, Container, Row, Col, Grid, Image, Button, Tab, Nav} from 'react-bootstrap';\nimport blogdata from '../blog_entries.json';\nimport '../stylesheets/Blog.css';\n\nexport default class Blog extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n entries: [],\n selectedDate: null,\n selectedEntry: null\n };\n }\n\n componentDidMount() {\n this.setState({ entries: blogdata });\n this.setState({ selectedDate: blogdata[0].date });\n this.setState({ selectedEntry: blogdata[0] });\n }\n\n toggleSelectedDate = (selectedDate) => {\n this.setState({ selectedDate: selectedDate });\n for (let entry of this.state.entries) {\n if (entry.date === selectedDate) {\n this.setState({ selectedEntry: entry});\n }\n }\n }\n\n\n getDates = () => {\n let validDates = [];\n for (var entry of this.state.entries) {\n validDates.push(entry.date);\n }\n return validDates.map((date, index) => {\n return (\n \n {new Date(date).toDateString()}\n \n );\n });\n }\n\n getVideos = () => {\n let videoUrls = [];\n if (this.state.selectedEntry.media &&\n this.state.selectedEntry.media.videos &&\n\t\t\tthis.state.selectedEntry.media.videos.length > 0) {\n for (let videoUrl of this.state.selectedEntry.media.videos) {\n videoUrls.push(videoUrl);\n }\n }\n return videoUrls.map((videoUrl, index) => {\n return (\n\t \t
\n\t\t\t\n\t\t
\n );\n });\n }\n\n\tgetLinks = () => {\n\t\tlet linkUrls = [];\n\t\tif (this.state.selectedEntry.media &&\n\t\t this.state.selectedEntry.media.links &&\n\t\t\tthis.state.selectedEntry.media.links.length > 0) {\n\t\t\tfor (let linkUrl of this.state.selectedEntry.media.links) {\n\t\t\t\tlinkUrls.push(linkUrl);\n\t\t\t}\n\t\t}\n\t\treturn linkUrls.map((linkUrl, index) => {\n\t\t\treturn (\n\t\t\t
\n\t\t\t\t\t{linkUrl}\n\t\t\t\t
\n\t\t\t);\n\t\t});\n\t}\n\n render() {\n if (this.state.entries && this.state.entries.length > 0) {\n return (\n
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

Date

\n \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

Entry

\n \n
\n\t\t\t\t\t\t
\n \n \n \n \n \n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{this.state.selectedEntry.entryText}\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{this.getVideos()}\n\t\t\t\t\t\t\t\t{this.getLinks()}\n\t\t\t\t\t\t\t\t
\n \n
\n\t\t\t\t\t\t
\n
\n );\n } else {\n return (\n
\n Loading....\n
\n );\n }\n\n }\n}\n","import React, { Component } from 'react';\nimport { Navbar, Nav, Brand } from 'react-bootstrap';\nimport { Link, withRouter } from 'react-router-dom';\nimport { PropTypes } from 'prop-types';\nimport '../stylesheets/CustomNavBar.css';\nimport logo from '../media/softwareicontransparent.png';\n\nclass CustomNavBar extends Component {\n\n constructor(props) {\n super(props);\n this.state = {\n\t\t\tentries: []\n };\n this.getBlogEntries();\n }\n\n getBlogEntries = () => {\n \n }\n\n\trender() {\n return (\n\t\t\t\n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t \n\t\t\t\n\t\t);\n\t}\n}\n\nexport default withRouter(CustomNavBar);\n","import React, { Component } from 'react';\nimport { Navbar, Nav, Container, NavbarBrand } from 'react-bootstrap';\n\nclass Footer extends Component {\n\n constructor(props) {\n super(props);\n }\n\n\trender() {\n\t\treturn(\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tLukas Jenks Ⓒ Copyright 2021. All rights reserved.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n }\n}\n\nexport default Footer;\n","import React from 'react';\nimport './App.css';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\nimport Home from './components/Home';\nimport About from './components/About';\nimport Projects from './components/Projects';\nimport Blog from './components/Blog';\nimport Navbar from './components/CustomNavBar';\nimport Footer from './components/Footer.jsx';\n\nfunction App() {\n return (\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t ()} />\n\t\t\t ()} />\n\t\t\t ()} />\n\t\t\t ()} />\n\t\t\t\n\t\t\t
\n\t\t
\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}