{"version":3,"sources":["Main.js","Text.js","serviceWorker.js","index.js","images/hdijab.png"],"names":["Navigation","title","ref","replace","toLowerCase","react_default","a","createElement","className","href","id","src","hdijab","alt","type","data-toggle","data-target","aria-controls","aria-expanded","aria-label","this","renderListItem","React","Component","Main","props","_this","Object","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","state","sections","ifLight","section","checkLight","key","target","rel","_this2","Main_Navigation","renderHeader","map","v","i","renderSection","renderFooter","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","onUpdate","onSuccess","catch","error","ReactDOM","render","src_Main_0","document","getElementById","URL","process","origin","addEventListener","concat","fetch","response","contentType","headers","get","status","indexOf","ready","unregister","reload","checkValidServiceWorker","module","exports","__webpack_require__","p"],"mappings":"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","file":"static/js/main.29fde1c9.chunk.js","sourcesContent":["import React from 'react';\nimport hdijab from './images/hdijab.png';\nimport './Main.css';\nimport Text from './Text';\n\nclass Navigation extends React.Component {\n\n renderListItem(title) {\n const ref = \"#\" + title.replace(/\\s+/g, '-').toLowerCase()\n return (\n
  • \n {title}\n
  • \n )\n }\n\n render() {\n return (\n \n )\n }\n}\n\nclass Main extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n sections: [\"Work\", \"Education\", \"Skills\", \"Projects\"]\n }\n }\n\n renderHeader() {\n return (\n
    \n
    \n

    Curriculum Vitae

    \n

    \n Email: \n contact@halildijab.com\n \n

    \n
    \n
    \n )\n }\n\n renderSection(title, ifLight) {\n const id = title.replace(/\\s+/g, '-').toLowerCase()\n const checkLight = ifLight ? \"bg-light\" : \"\"\n return (\n
    \n
    \n
    \n
    \n

    {title}

    \n {Text(title)}\n
    \n
    \n
    \n
    \n )\n }\n\n renderFooter() {\n return (\n \n )\n }\n\n render() {\n return (\n
    \n \n {this.renderHeader()}\n {this.state.sections.map((v,i) => {return this.renderSection(v, i % 2 === 0)})}\n {this.renderFooter()}\n
    \n )\n }\n}\n\nexport default Main;\n","import React from 'react';\n\nexport default function Text(section) {\n if (section === \"Work\") {\n return (\n
    \n
    \n

    June 2018 – August 2018 | Research Intern | King’s College London

    \n

    \n Aided in the data analytic research of a project in the department of biomedical engineering, my main supervisor was Dr. Peter Charlton\n

    \n

    \n The research was submitted to a conference with the following citation:

    \n Dijab, Halil & Alastruey, Jordi & Charlton, Peter. (2018). Measuring Vascular Recovery Rate After Exercise. Proceedings. 4. 5746. 10.3390/ecsa-5-05746.\n

    \n
    \n
    \n

    October 2017 – March 2018 | Student Proctor | University of Hertfordshire

    \n

    \n I provided aid to professors during tutorial sessions and helped invigilate examinations while tutoring students struggling with the lecture material\n

    \n
    \n
    \n )\n } else if (section === \"Education\") {\n return (\n
    \n
    \n

    2016 - 2019: Computer Science with A.I. BSc (Hons) | University of Hertfordshire

    \n

    Expected final grade: First Class (82%)

    \n

    Final year | Average grade: First Class (79%)

    \n

    Second year | Average grade: First Class (74%)

    \n

    First year | Average grade: First Class (88%)

    \n
    \n
    \n

    January 2016 – March 2016: Web Development Bootcamp | Ironhack, Spain

    \n

    \n Equivalent to 400 teaching hours\n

    \n

    Learned to use:

    \n \n
    \n
    \n

    2007 – 2013: Secondary School | Qatar Academy, Qatar

    \n

    International Baccalaureate

    \n
    \n
    \n )\n } else if (section === \"Skills\") {\n return (\n
    \n
    \n

    Natural Languages:

    \n \n

    Programming Languages:

    \n \n

    \n Developed leadership, initiative and organizational skills as the Computer Science school officer in the second year of my university degree, by organizing student representatives to bridge the gap between students and academic staff\n

    \n

    \n Developed communication, independence and teaching skills as a peer assisted learning tutor also during my second year, by teaching first year students programming and assisting them in their studies\n

    \n
    \n
    \n )\n } else if (section === \"Projects\") {\n return (\n
    \n
    \n

    January 2019 – April 2019 | Final Year Project (Grade: 82%)

    \n

    \n New approach to one shot learning for facial recognition\n

    \n

    \n Exploring the use of autoencoders trained on human faces to generate a dataset from a single image of a person for a convolutional neural network to learn to recognize said person\n

    \n
    \n
    \n

    October 2017 | AI Module Coursework (Grade: 100%)

    \n

    \n Programming an autonomous vehicle\n

    \n

    \n I programmed a car in NetLogo that was driven by a neural network, which was trained by the means of genetic algorithms to circumnavigate a track with obstacles and oncoming traffic\n

    \n
    \n
    \n

    March 2017 – April 2017 | Hardware Module Coursework (Grade: 100%)

    \n

    \n Building an 8-bit game\n

    \n

    \n Used Logisim to design a chess game by programming a simple 8-bit processor provided by my professor and augment it with further hardware for graphics and logic control\n

    \n
    \n
    \n )\n }\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.1/8 is 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 .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.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport Main from './Main';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(
    , document.getElementById('root'));\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.register();\n","module.exports = __webpack_public_path__ + \"static/media/hdijab.f7cb42c9.png\";"],"sourceRoot":""}