{"version":3,"sources":["components/Launch.js","components/Github.js","components/Card.js","components/Header.js","components/Arrow.js","components/Hyperlink.js","resources/gameboj.gif","resources/scoogle.gif","resources/tictactoe.gif","resources/kernel.png","resources/threadlib.png","resources/sokoban.gif","resources/sbarthol.me.png","resources/doodle-jump.jpg","resources/notten.jpg","resources/bittorrent.png","resources/ilgl.png","resources/ivrogne.gif","resources/l3c.png","resources/raft.png","resources/ssa.png","resources/sat.svg","resources/hamburguesa.gif","resources/space-bash.gif","resources/bzz.png","resources/bike-game.gif","App.js","index.js"],"names":["Launch","class","viewBox","d","Github","Card","githubLink","title","skills","image","github","app","children","undefined","href","src","alt","map","skill","Header","Arrow","Hyperlink","App","hamburguesaGif","bzzPng","spaceBashGif","satSvg","ssaPng","raftPng","l3cPng","sbartholMePng","scoogleGif","tictactoeGif","bittorrentPng","kernelPng","threadlibPng","sokobanGif","doodleJumpJpg","gamebojGif","bikeGameGif","ivrogneGif","nottenJpg","ilglPng","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.91533558.chunk.js","sourcesContent":["import React from \"react\";\n\nfunction Launch() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Launch;\n","import React from \"react\";\n\nfunction Github() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Github;\n","import React from \"react\";\nimport Launch from \"./Launch.js\";\nimport Github from \"./Github.js\";\n\nfunction Card({ title, skills, image, github, app, children }) {\n\tlet githubLink;\n\tif (github === undefined) {\n\t\tgithubLink = (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\tgithubLink = (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\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\t

{title}

\n\t\t\t\t\t\t
{children}
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{skills.map((skill) => (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{skill}\n\t\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
\n\t\t\t\t\t\t\t{app !== undefined && (\n\t\t\t\t\t\t\t\t\n\t\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)}\n\t\t\t\t\t\t\t{githubLink}\n\t\t\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\nexport default Card;\n","import React from \"react\";\n\nfunction Header() {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\tSacha Bartholme's open source portfolio in reverse chronological order\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default Header;\n","import React from \"react\";\n\nfunction Arrow() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Arrow;\n","import React from \"react\";\nimport Arrow from \"./Arrow.js\";\n\nfunction Hyperlink({ href, children }) {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Hyperlink;\n","export default __webpack_public_path__ + \"static/media/gameboj.71c5ea4c.gif\";","export default __webpack_public_path__ + \"static/media/scoogle.410c2148.gif\";","export default __webpack_public_path__ + \"static/media/tictactoe.3ece1fb9.gif\";","export default __webpack_public_path__ + \"static/media/kernel.bbc92817.png\";","export default __webpack_public_path__ + \"static/media/threadlib.a09f6526.png\";","export default __webpack_public_path__ + \"static/media/sokoban.7c413ef1.gif\";","export default __webpack_public_path__ + \"static/media/sbarthol.me.acb699a0.png\";","export default __webpack_public_path__ + \"static/media/doodle-jump.01345df1.jpg\";","export default __webpack_public_path__ + \"static/media/notten.89078811.jpg\";","export default __webpack_public_path__ + \"static/media/bittorrent.ff1a3e23.png\";","export default __webpack_public_path__ + \"static/media/ilgl.000bc8a6.png\";","export default __webpack_public_path__ + \"static/media/ivrogne.f0adbbdc.gif\";","export default __webpack_public_path__ + \"static/media/l3c.72afa1cb.png\";","export default __webpack_public_path__ + \"static/media/raft.62a89fde.png\";","export default __webpack_public_path__ + \"static/media/ssa.3f8d587c.png\";","export default __webpack_public_path__ + \"static/media/sat.6dadbded.svg\";","export default __webpack_public_path__ + \"static/media/hamburguesa.2c27e48e.gif\";","export default __webpack_public_path__ + \"static/media/space-bash.edbed8ca.gif\";","export default __webpack_public_path__ + \"static/media/bzz.94354d65.png\";","export default __webpack_public_path__ + \"static/media/bike-game.0d62a06c.gif\";","import Card from \"./components/Card\";\nimport Header from \"./components/Header\";\nimport Hyperlink from \"./components/Hyperlink\";\n\nimport gamebojGif from \"./resources/gameboj.gif\";\nimport scoogleGif from \"./resources/scoogle.gif\";\nimport tictactoeGif from \"./resources/tictactoe.gif\";\nimport kernelPng from \"./resources/kernel.png\";\nimport threadlibPng from \"./resources/threadlib.png\";\nimport sokobanGif from \"./resources/sokoban.gif\";\nimport sbartholMePng from \"./resources/sbarthol.me.png\";\nimport doodleJumpJpg from \"./resources/doodle-jump.jpg\";\nimport nottenJpg from \"./resources/notten.jpg\";\nimport bittorrentPng from \"./resources/bittorrent.png\";\nimport ilglPng from \"./resources/ilgl.png\";\nimport ivrogneGif from \"./resources/ivrogne.gif\";\nimport l3cPng from \"./resources/l3c.png\";\nimport raftPng from \"./resources/raft.png\";\nimport ssaPng from \"./resources/ssa.png\";\nimport satSvg from \"./resources/sat.svg\";\nimport hamburguesaGif from \"./resources/hamburguesa.gif\";\nimport spaceBashGif from \"./resources/space-bash.gif\";\nimport bzzPng from \"./resources/bzz.png\";\nimport bikeGameGif from \"./resources/bike-game.gif\";\n\nfunction App() {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\tGame created for the CMU 17637{\" \"}\n\t\t\t\tclass. Two players compete against each other in order to create the burger following the\n\t\t\t\trecipe as quickly as possible. Assets were drawn by hand. The client renders the UI\n\t\t\t\taccording to websocket messages it receives from the server.\n\t\t\t\n\t\t\t\n\t\t\t\t3D game created for the CMU{\" \"}\n\t\t\t\t15666 class.\n\t\t\t\tYou grow crickets to earn money and buy upgrades to further grow your operation.{\" \"}\n\t\t\t\tPresskit{\" \"}\n\t\t\t\tfor more details.\n\t\t\t\n\t\t\t\n\t\t\t\tGame created for the CMU{\" \"}\n\t\t\t\t15666 class. A\n\t\t\t\trocket must avoid colliding with foods coming in from all four directions. An asset pipeline\n\t\t\t\twas designed and implemented to fit hand-drawn tile assets on a very constrained display\n\t\t\t\tsystem based on the{\" \"}\n\t\t\t\t\n\t\t\t\t\tNintendo Entertainment System's PPU\n\t\t\t\t\n\t\t\t\t.\n\t\t\t\n\t\t\t\n\t\t\t\tNon-deterministic parallel k-SAT solver using data parallelism and OpenMP. Uses multi-bit\n\t\t\t\tassignments and{\" \"}\n\t\t\t\t\n\t\t\t\t\tunit propagation{\" \"}\n\t\t\t\t{\" \"}\n\t\t\t\tto speed up results. Developed for the{\" \"}\n\t\t\t\t15618 class at Carnegie Mellon\n\t\t\t\tUniversity. Implementation based on{\" \"}\n\t\t\t\t\n\t\t\t\t\tthis paper\n\t\t\t\t\n\t\t\t\t.\n\t\t\t\n\t\t\t\n\t\t\t\tc0c is a compiler that compiles{\" \"}\n\t\t\t\tC0 to x86-64 assembly and was\n\t\t\t\twritten for Carnegie Mellon University's{\" \"}\n\t\t\t\t15611 class. It uses\n\t\t\t\tstatic single assignment to perform optimizations (copy propagation, dead code elimination,\n\t\t\t\tfolding), does register allocation and automatic garbage collection. Its performance lies\n\t\t\t\tbetween the -O0 and -O1 flags of gcc.\n\t\t\t\n\t\t\t\n\t\t\t\tRaft is a consensus algorithm that is\n\t\t\t\tdesigned to be easy to understand. It's equivalent to Paxos in fault-tolerance and\n\t\t\t\tperformance, but decomposed into independent subproblems. The implementation is based on the{\" \"}\n\t\t\t\tRaft paper.\n\t\t\t\n\t\t\t\n\t\t\t\tCompiler written in Scala for the functional language L3. Advanced compilation techniques\n\t\t\t\tlike{\" \"}\n\t\t\t\t\n\t\t\t\t\tcontinuation-passing style\n\t\t\t\t\n\t\t\t\t, closure conversion and various optimizations (common subexpression elimination, constant\n\t\t\t\tfolding, dead code elimination, inlining etc...) where used. The assembly runs on a virtual\n\t\t\t\tmachine written in C that implements a{\" \"}\n\t\t\t\t\n\t\t\t\t\tmark-and-sweep\n\t\t\t\t{\" \"}\n\t\t\t\tgarbage collector.\n\t\t\t\n\t\t\t\n\t\t\t\tThis website, that I decided to build after a 8.5 x 11 resume page wasn't enough anymore to\n\t\t\t\tstore all my open source projects.\n\t\t\t\n\t\t\t\n\t\t\t\tScoogle is a Search Engine written from scratch in Scala and using Akka Actors. Its\n\t\t\t\tcomponents are a web crawler, a HBase data store, a server serving a backend API and a\n\t\t\t\tfrontend written in React.\n\t\t\t\n\t\t\t\n\t\t\t\tTictactoe is an invincible tictactoe game written in React and using the{\" \"}\n\t\t\t\tminimax algorithm.\n\t\t\t\n\t\t\t\n\t\t\t\tThis is a small torrenting client written from scratch in C++. It downloads a bencoded\n\t\t\t\ttorrent file from a tracker, decodes the torrent bencode, and downloads a file from a list\n\t\t\t\tof peers given by the tracker using the bittorrent protocol (application layer protocol on\n\t\t\t\ttop of TCP).\n\t\t\t\n\t\t\t\n\t\t\t\tThis is the kernel from Carnegie Mellon University's{\" \"}\n\t\t\t\t15410 class. With a partner, I\n\t\t\t\tdesigned and implemented a complete, preemptive, multi-threaded kernel from scratch. We\n\t\t\t\tthread scheduler, virtual memory, hardware interrupts (keyboard, timer), a console driver\n\t\t\t\tand more than 20 system calls. We later added a console multiplexer, an implementation of\n\t\t\t\tthe Linux uptime{\" \"}\n\t\t\t\tcommand and a thread library.\n\t\t\t\n\t\t\t\n\t\t\t\tThis is a 1:1 pure kernel thread library written from scratch in C built on top of my\n\t\t\t\tkernel. Once the library was able to spawn and join threads, we added mutexes using the{\" \"}\n\t\t\t\t\n\t\t\t\t\tx86 xchg instruction\n\t\t\t\t\n\t\t\t\t. We then added condition variables, semaphores and read-write locks on top of that.\n\t\t\t\n\t\t\t\n\t\t\t\tSokoban is a puzzle\n\t\t\t\tvideo game in which the player pushes boxes around in a warehouse, trying to get them to\n\t\t\t\tstorage locations. The game was written in pure kernel mode, and the drivers (CRTC cursor,\n\t\t\t\tkeyboard and timer) are implemented using the memory mapped IO and{\" \"}\n\t\t\t\t\n\t\t\t\t\tinterrupt descriptor table\n\t\t\t\t{\" \"}\n\t\t\t\tof the x86 architecture.\n\t\t\t\n\t\t\t\n\t\t\t\tDoodle Jump is a competitive programming problem that I successfully submitted for the\n\t\t\t\tLuxembourgish Olympiad in Informatics{\" \"}\n\t\t\t\t\n\t\t\t\t\t(2018 edition)\n\t\t\t\t\n\t\t\t\t. I had won the 2017 edition the year before. It is a hard dynamic programming problem in\n\t\t\t\twhich a jumper must hop from platform to platform using the least number of jetpacks. None\n\t\t\t\tof the contestants were able to solve the problem entirely that year.\n\t\t\t\n\t\t\t\n\t\t\t\tGameboj is a complete Nintendo{\" \"}\n\t\t\t\t1989 Game Boy emulator\n\t\t\t\twritten from scratch in Java. Any game cartridge can be downloaded as a .gb file and played\n\t\t\t\ton the emulator. The original Sharp LR35902 processor (a variant of the famous{\" \"}\n\t\t\t\tZilog Z80) is emulated\n\t\t\t\ton a very low level. Bus controller, ROM, RAM, Direct Memory Accesses (DMA), screen\n\t\t\t\tcontroller etc... are implemented according to the original Nintendo specs.\n\t\t\t\n\t\t\t\n\t\t\t\tGame created for the EPFL{\" \"}\n\t\t\t\t\n\t\t\t\t\tCS-107 Introduction to Programming\n\t\t\t\t{\" \"}\n\t\t\t\tclass. The goal is to advance along the track and reach the finish line, overcoming all the\n\t\t\t\tobstacles along the way. Use the arrows to advance and space to switch direction.\n\t\t\t\n\t\t\t\n\t\t\t\tIvrogne is a tiny high school project written in Pascal. The player first configures a board\n\t\t\t\tof size n x n with a number m of obstacles, a house and a drunk. The goal is to get the\n\t\t\t\tdrunk back to his house by advancing in a random direction each time, avoiding obstacles.\n\t\t\t\n\t\t\t\n\t\t\t\tNotten is an iOS App written in Objective-C and Swift. Students enter their grades and\n\t\t\t\treceive all sorts of statistics, data, charts, graphs etc... It ranked number 1 in the\n\t\t\t\tLuxembourgish App Store, was downloaded 6950 times and generated a revenue of $2.12K during\n\t\t\t\tits lifetime.\n\t\t\t\n\t\t\t\n\t\t\t\tThis is an iOS App that I programmed in Objective-C for my high school in Luxembourg. It\n\t\t\t\tsupported various features like of list of absent teachers, a daily joke, the current\n\t\t\t\tweather fetched by a local Raspberry Pi antenna, a contest of who was able to hold a button\n\t\t\t\tfor the longest time etc... It was downloaded 4510 times according to iTunes Connect.\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\n\nReactDOM.render(\n\t\n\t\t\n\t,\n\tdocument.getElementById(\"root\")\n);\n"],"sourceRoot":""}