From 9c7ec34bd31ceff27f11b25f9c837cbf5db9933a Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Sat, 16 Oct 2021 13:35:03 -0500 Subject: [PATCH 01/14] Update Hero.tsx --- src/components/hero/Hero.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/hero/Hero.tsx b/src/components/hero/Hero.tsx index 7dc0a4b..d2743a7 100644 --- a/src/components/hero/Hero.tsx +++ b/src/components/hero/Hero.tsx @@ -13,7 +13,7 @@ export default function Hero() { flexDirection: "column", alignItems: "center" }}> - github profile

Nicholas Orlowsky

Software Engineer

From e0b947da0ecc5e9f4b7c0acc086418283b732fda Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Sat, 16 Oct 2021 14:04:40 -0500 Subject: [PATCH 02/14] Update pop --- src/components/hero/Hero.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/hero/Hero.tsx b/src/components/hero/Hero.tsx index d2743a7..feb6211 100644 --- a/src/components/hero/Hero.tsx +++ b/src/components/hero/Hero.tsx @@ -13,7 +13,7 @@ export default function Hero() { flexDirection: "column", alignItems: "center" }}> - github profile

Nicholas Orlowsky

Software Engineer

From 6ecf83063910e1841bc6d22c248fa12c852629be Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Tue, 19 Oct 2021 15:40:52 -0500 Subject: [PATCH 03/14] job changes --- package.json | 3 + src/App.css | 6 +- src/App.tsx | 37 ++++++--- src/components/footer/Footer.tsx | 7 +- src/components/job-card/JobCard.css | 6 -- src/components/job-card/JobCard.tsx | 26 +++--- src/components/jobs/Jobs.tsx | 9 +- src/static/data/Hobbies.ts | 8 ++ src/static/data/Jobs.ts | 22 +++-- src/static/data/Projects.ts | 2 +- src/static/images/compwallet-logo.png | Bin 0 -> 74549 bytes yarn.lock | 113 +++++++++++++++++++++++++- 12 files changed, 183 insertions(+), 56 deletions(-) create mode 100644 src/static/images/compwallet-logo.png diff --git a/package.json b/package.json index f445c6e..c4b5ce7 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@types/react": "^17.0.0", "@types/react-animate-on-scroll": "^2.1.2", "@types/react-dom": "^17.0.0", + "@types/react-router-dom": "^5.3.1", "@types/react-slick": "^0.23.4", "@types/react-tabs": "^2.3.2", "@types/react-typing-animation": "^1.6.2", @@ -22,6 +23,8 @@ "react-animate-on-scroll": "^2.1.5", "react-bootstrap": "^1.6.1", "react-dom": "^17.0.2", + "react-router": "^5.2.1", + "react-router-dom": "^5.3.0", "react-scripts": "4.0.3", "react-slick": "^0.28.1", "react-tabs": "^3.2.2", diff --git a/src/App.css b/src/App.css index ccb7da1..76f93de 100644 --- a/src/App.css +++ b/src/App.css @@ -144,14 +144,10 @@ h1 { animation: move-left-atx-anim 1s forwards; } -ul { - list-style-type: none; - margin-left: -35px; -} html { - scroll-snap-type: y proximity; + scroll-snap-type: y mandatory; } .child { diff --git a/src/App.tsx b/src/App.tsx index eee9e81..9d1a904 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,6 +8,11 @@ import Projects from "./components/projects/Projects"; import Hobbies from "./components/hobbies/Hobbies"; import Contact from "./components/contact/Contact"; import Terminal from "./components/terminal/Terminal"; +import { + BrowserRouter as Router, + Switch, + Route +} from 'react-router-dom'; function App() { @@ -16,18 +21,26 @@ function App() { return (
- {showTerm && } - {!isTerminalVisible && -
- - - - - - -
-
- } + + + + {showTerm && } + {!isTerminalVisible && +
+ + + + + + +
+
+ } +
+ + +
+
); } diff --git a/src/components/footer/Footer.tsx b/src/components/footer/Footer.tsx index 6d03a20..feb7902 100644 --- a/src/components/footer/Footer.tsx +++ b/src/components/footer/Footer.tsx @@ -3,11 +3,8 @@ import React from "react"; export default function Footer() { return (
-
-

Copyright © 2021 Nicholas Orlowsky

-

Licensed under GNU General Public License v3

-

Original source available here

+
+

Created by 2021 Nicholas Orlowsky - Licensed under GNU General Public License v3 - Original source available here

) diff --git a/src/components/job-card/JobCard.css b/src/components/job-card/JobCard.css index 96da3e0..1d75585 100644 --- a/src/components/job-card/JobCard.css +++ b/src/components/job-card/JobCard.css @@ -1,9 +1,3 @@ -@media only screen and (min-width: 993px) { - .center-card { - border-left: .5px rgba(255,255,255,.25) solid; - border-right: .5px rgba(255,255,255,.25) solid; - } -} @media only screen and (max-width: 768px) { diff --git a/src/components/job-card/JobCard.tsx b/src/components/job-card/JobCard.tsx index 76b7889..a67e0ca 100644 --- a/src/components/job-card/JobCard.tsx +++ b/src/components/job-card/JobCard.tsx @@ -3,18 +3,22 @@ import React from "react"; import Job from "../../types/Job"; import "./JobCard.css"; -export default function JobCard(props: {style?: any, className?: string, job: Job, isCenter: boolean}){ +export default function JobCard(props: {style?: any, className?: string, job: Job}){ return ( - -
- {props.job.company+" -

{props.job.title}

- {props.job.uri == null &&
{props.job.company}
} - {props.job.uri != null &&
{props.job.company}
} -

{props.job.timespan}

-
    - {props.job.items.map((s) =>
  • {s}
  • )} -
+ +
+ {props.job.company+" +
+
+

{props.job.title}

+ {props.job.uri == null &&
{props.job.company}
} + {props.job.uri != null &&
{props.job.company}
} +

{props.job.timespan}

+
+
    + {props.job.items.map((s) =>
  • {s}
  • )} +
+
); diff --git a/src/components/jobs/Jobs.tsx b/src/components/jobs/Jobs.tsx index a9d649f..1094e11 100644 --- a/src/components/jobs/Jobs.tsx +++ b/src/components/jobs/Jobs.tsx @@ -6,12 +6,9 @@ import "./Jobs.css"; export default function Jobs() { return (
-
-

Work

- - {AllJobs.map((job, i) =>)} - +
+

Work

+ {AllJobs.map((job, i) =>)}
) diff --git a/src/static/data/Hobbies.ts b/src/static/data/Hobbies.ts index 4141af3..2c64f16 100644 --- a/src/static/data/Hobbies.ts +++ b/src/static/data/Hobbies.ts @@ -10,6 +10,14 @@ const RunningHobby: InfoCardProps = { listClassName: "col-12" } +const Listing: InfoCardProps = { + title: "Lifting", + description: "Began lifting when I got into college. (TODO: add more before publishing)", + listTitle: "Personal Records", + list:["Bench - 200lbs", "Squat - 305lbs"], + listClassName: "col-12" +} + const VideogameHobby: InfoCardProps = { title: "Video Games", description: "Video games are what got me interested in programming in the first place. I tend to play them a lot less now in favor of programming though, I'll occasionally sink a couple hours into a game.", diff --git a/src/static/data/Jobs.ts b/src/static/data/Jobs.ts index 0de9efa..0cd8f5d 100644 --- a/src/static/data/Jobs.ts +++ b/src/static/data/Jobs.ts @@ -2,6 +2,7 @@ import Job from "../../types/Job"; import VrboImage from "../images/vrbo-logo-min.png"; import CavImage from "../images/cavcash-logo-min.png"; import ChicksImage from "../images/chicks-logo.svg"; +import CompImage from "../images/compwallet-logo.png"; const VrboJob: Job = { title: "Data Scientist", @@ -19,15 +20,13 @@ const VrboJob: Job = { const CavCashJob: Job = { title: "CEO & Software Engineer", - company: "CavCash Inc", + company: "CavCash", timespan: "May 2017 - Present", items: [ "Founded the company", "Wrote a C# webAPI", "Managed mongoDB and MSSQL databases", - "Deployed and maintained k8s clusters on bare metal", - "Managed CI/CD & DevOps in Azure DevOps", - "Ran & migrated services between Azure, AWS, and GCP" + "Deployed and maintained k8s clusters on bare metal on in-house datacenter", ], image: CavImage } @@ -36,7 +35,7 @@ const ChicksJob: Job = { title: "Software Engineer", company: "Chicks Gold", uri: "https://chicksgold.com", - timespan: "April 2021 - Present", + timespan: "April 2021 - October 2021", items: [ "Added features & bugfixes to .NET 5 API", "Added features & bugfixes to Aurelia website", @@ -46,6 +45,17 @@ const ChicksJob: Job = { image: ChicksImage } +const CompWalletJob: Job = { + title: "Lead Software Developer", + company: "Casino CompWallet", + timespan: "October 2021 - Present", + items: [ + "Work on Ruby-On-Rails API", + "Updated a React Native mobile app" + ], + image: CompImage +} -export const AllJobs: Job[] = [VrboJob, CavCashJob, ChicksJob]; + +export const AllJobs: Job[] = [CompWalletJob, CavCashJob, ChicksJob, VrboJob]; diff --git a/src/static/data/Projects.ts b/src/static/data/Projects.ts index 740559f..7ef8cfd 100644 --- a/src/static/data/Projects.ts +++ b/src/static/data/Projects.ts @@ -2,7 +2,7 @@ import InfoCardProps from "../../types/InfoCardProps"; const WebsiteProject: InfoCardProps = { title: "personal-site (this website)", - description: "As a primairly backend guy, I wrote my last website as a JSON file (imatating a webAPI). Feedback showed that that was a bad idea so I made this pretty neat site (in my opinion). If you like it, feel free to use it yourself!", + description: "As a primairly backend guy, I wrote my last website as a JSON file (imatating a webAPI). Feedback showed that that was a bad idea so I made this pretty neat site (in my opinion). If you like it, feel free to use it yourself! The backend is run in a homemade datacenter (a few Dell Poweredges on a rack) running on Kubernetes.", listTitle: "Technologies & Resources used", list:["React", "Typescript", "Bootstrap", "Icons8", "Docker", "Kubernetes"], link: "https://github.com/nickorlow/personal-site", diff --git a/src/static/images/compwallet-logo.png b/src/static/images/compwallet-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d7fefdc7ecbd8a805f8747c6bf9a5fc2def7500d GIT binary patch literal 74549 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%0A^IH-Gp2=+Plr)*Z6XCjbv^)_N{gA zdttu+z$F9D!39G=8O0(`<3^V7GLc9do-C6Op&%vpr^iPiK`_3JT_4x}YX_hF!|3LB zoVzPHqs#aTr`5oE#C2@tx~dGPSWd4GPgx~QIG?w?;f4A75RQhaum}kTPVciCm*95z z#A8CUtymZl5(;8W63M5-_3vJubnkyNTC6o%b681Q$G;)hpH-gJVhHDy6@V`a zxX&&PMeDPEZYqm(y))@D8-PTtR40&|_Z^aCnPXDW$Z>~|=1Rv|z z)r(OlmV_g=EYN|mh6T-&eQ9Ew?s`5?!EP~)jA>{wl)jHgk9}~Y6vPCvG~SZ|@yZ*` z?a0N^*c~=&Y*>>PM@yZn>Mk2iFa5n6dkcRobZMqgEMgrqnokx@uw5>W)?7W3fjAGn z$G;?El&d>--S5=@wSnY5W@uc#m#A)9ermMd6-#^MFtC6**&0qkibPyG+{1WM3Tia5 zXDgjeI`^X9zAGd?o<04amyMT+=;#nzikqBJ5E&>ltH!&TzFj|`XP)&Dxfedn=jGmLu%ngCW5NjFMZ@SZzD<*dHoCW~?t=(-sT7FdHEhS%41^BmVkB_chXg zIn_H31l%s?%kUJGRRdhtCpD55s@wuC)&503X(3z(f}{-PMpB{56kb}|nlOT`T7jz& z&4HjTc(bZ7xd5KEWL%N?d14nnvi#Sjs{Qhy-1E!XIqg~}mV9w3nM8PxBoV_91n6L( zwEKLGH#(0w7%;ftsh>=Hez|jKwb5FgJY}JQ>Y>jmsDVk|bn5rzxj$*>%-!wQzq=Ue zOz*ZmlpCqZmcV$U$p!ZjM8?Zy7%^bN3B|bS-x7>rwR@41dHnxtI|N!=z~BAI^6JL{ z6B6{Ren36Ebrfi9;a~gM+$JZ~8{u+Q03>KNtDFd*Nnh0E@>UDRAh-0SQbaJsW(%oIgjT z<~cTeZ&jl*jqWMGPdW{e`Qt!ImT4g%mE?$__N10A8vuw-XP&L~kpcweTp;V(BQ?@j zEw0>#D{ucpm&j@4eL#gSOUi}^8W_Sbr7-nkiGaFxd7YEVEH0$Z{04O}1q1{|y^E(U>v$i;?|AD?>!W05m30FxJj)GYAZnK~qXYMi@uD>VACu@YSqoRNP|Q)?{lq#Ze#@vx9+yrJnU_E&KC*_rb2q&)@IN~t0o^jdZ+7VOzM~}(4_Ho1oC+kiZf7KI zOGEjo9}39?pHVuGC=}FEU|sQka(~;*5f8GS$IiE89oq5j@)Gb}3PJElco>$gs3-|x zVLXEF`|ZIoEQTrbNq$SMki(BF-&y`N&UR(nPO66Oq{1j2_7VNsK7<-&nc2-M7gH4LoABa{ppUJn{)# zbEcs_KJm3HrJ6P%K(K>hBzXXIv?b8HuHbH z!WKdf!a!Q}azRr<3&ViRk}%K{AoYhsSGN_LKi}+MPb`0zyS>Sl&~LjrKcv)6TxEw2 z8S@K7;5iS6Knke~aCHCC;eHbAOYzM$noxb5cXzn(GU}JyWMD505G=eO8rLsKNSb}o zK#)oS(#;zDCA#A^{@^tC-vgyO#uV`zAm>ukZT0VZbcjRGnd3VyVpV(v zQLgL3bX zx_89PKu{6nx|(5AbV) zN(K^>D>=<7oPOEKWp-1eOKYYoCx5B1z@7R${@n1~zfRs5wM>Fk7p9{F2~L11`Stt3 zKq=JF5-x7K?Ka5RwR)Hu9X{`LKTgsuH4UMp|Av?PL)&kll(`F&WlIfaYA-n!BWT0* zlHqpQIrY1L9s;>UM4-3;@JM~g*p(WI`aUuedx05`lV3;zI(9h|?jA20I zYOgd8b(l>JW$tyI%n7>p8NUj6IhiJ(v2)qC%V|XR#^Mc-g`rW6)HNwAeX%o0V z$H_-!n!O)Z$9(*_;d4S&(t?nuZ22Y#1e|qX1qNl^>Z*r7_b!s3_7HMU(>U=?x2v>jdvBKpjm2y6I2^ z%&WS)%@iUY96|A(9x4fa{QR4g9}X14)kw zI=Q6GHgC+;9#K5YWgh*Q2`a}7bmqS5DT#>r2pB*1^%n(xuI6tx8-KF7 zSTEO+f1C&ad~MN%lGFeICKEdruc}+<$ z>UB@;F<-eW18|@Y|8Qks6A=Lz3}S&PKrsgBrU|0nMtHy7GPy zxA+?i9o=2~h5s!rmBVNwj7R*f$Z_~F9p8qh$$xg+j~ucG2L^l`Kqo`u>%=dv=W5%# zx$!VhKi`lBmgPmw#1^q7#K)~ja3syE8)R3m$*;b zycpZpMG6vm1y%U}b8K*0yniLF)(dkkmtHU6RelGEV#lB1BKAKl8DI*^W6Oe%2SiH7 zJHo~)yuyJW0(Rxy(Uh*vGY%PE?kZOatk2T^@v2i^H)WJOj9)!n_f~01Wf84YgOI_I zlF@A14-DVqFH!Aqd@3&^zI0(P%slQaj@*#C?Zi=Mz7Ah=m?=h-HA>Eu&Evknnh`u1~(9vK2p zI4Lkx3Va-l0UH1-89*!tgCpLf{wu9cw}fT|iWXg5{PpAG*A9K?c=6QO7`&`DPr3_t zYk8yREs`G$0#q0f#Jz&-ff*UKg3u2p1hwIAFlKdL>R%GZyk1)wEVfOY+v0oAen@@q z@X?g^fQz3+1MI{axZ+2H*$dl<(cif3?fz=7*1b+vCmiFMmOWMr7 z?(Ut*C#*hj9!3=Dyk^1MGCu9(2WwWYGzO3DEA&EPb8-p71Ueyg3;6AHzW(*x8vWSh z_gSn-fX?nHE4&zF%zXU3-7u;axc-w}HbxUWUxd*D27{bZaP%wCkW)cVEBenL$F-Lc z-A}i3!m7{yxGdk>x>8c<2kVZe4ujpWKRcB;s;Xi&705bkux7&CvVpxM@EL1cN&&Ja zi+O4SDmjXZHITYcIycWF>3Tf%!M1__9cyX3|G1t97pKrkpW{E(s7CdM?z~$8LM$aD z_CrL(pxKq0V0+GZT3M_24N_96nHy6_e|?W@^V4d z7}k<33Jt}`^2OoT%{mVoHZdDNe>&a0F7_3tZ8^$RH|izBV>_D>G>^tv$Yj*ik4tbIP#~BRYJiN~;3YYB zaigg`#pAYfZj#+~y=n$}5H>em)_cNBzD*ixRuYYXnE$u{u+Qnu{&eKNGV%T>p~PSo zumb}>r<=UB&z8E91bptZF?sEu*J&3RwKwmNJm1GmCOzxL^|`K4PaB6noX8I;>Uf&K zIS}{HCb2nHrUmd2=I7^^T5Tvpq6p#y-rJYY?1hE`IDBsHl~)r$+E;jU3xdMS!j7W9 z`oLs>Th&y3u@QuX#eoR_I+ox2Eui?A=^>h$OA04bQMnB*KCv5$5|$be$Q3u&v}hIQ zz4RbuKjX_L&vp}GR@Y+uLDFZuX( z^(())eMmjt7e#^8hYNDEEA={8P<{#=o~QDeoED(KeX zcZ#p^whz~w@>_;z=ll=KyLv>PhJlQuhumM%4+rnhi4Y`yqpD9LW)cZG4zt2>a_wui31>hadgY{Cn~ym`IAC$xX= zZcujF&DXN^`M^VZK9DdlfKB<{rQ7MTW>i%EH*6;u75vB2$N2VskNVd3WAKoKr%YM(-Q>~ z^-!19@WOjafa$<~ajC|ArZu8??UT6&B_SiCZpY@xcj1x}3H$S}%l+fmES6Y=gsp22 zVsav!tI^4+{HdEniK&YF%gqbdfuaB$JXLZY6ga_2&dvPrwBVApP)RUvzB0 zI^=^VrJ1Q%=SG@+e{=K;-^w)Gr-c2EV99fWHe2pj=l=9&7o`czv-T}08Sc<*Y+K) zaLoG4RfQd9^-(5>%Q~)xW6v!IQfU@qN`a*&4+Ep%K&Gi4il$GWZgS%Bu)I+=!iZ%FbHCf)h*-Pr6=RVe3hPPoBHL=>L)=Ms zy*(|)*Gu~FsHV5;4#*bIiKxgYv|=USVv^&aV?wC9j1xjp1{wxn&Jqh#ZmQZtM3xzL zdt0lTS>?k?FJS$Hk*x83PtxriOQZfE!aR^o497{s^<*xzKd5hXSNZh(e7AVx~STzH4AusQ$X2E>6t%cyxaGggZ&xLEY}qZ%%5nENZzU%m^rVyZt_LY})J+ z^@M{Kml(G%7|D;phZz{aIi5iF`PIJLvEuxp37v&1O)1YY>#&4P-*KFz!TGKN+}`ye zG06%jNG`gnNrW;!g9uX&>j%JyCA>O;;_@vYiH?-oC>AY7YZsi-&210L*bq2=3;%U! z*%692^vVGqdE;~_GKr|QoVfIc?}3OI#l(pAD0wOMOJ~Z{Yua!LA)-3ZU$R?fyPI+_ z`;T?wzj}KrA!0Idnp>Jm0H3E_^b^=A`byyQkHPw2M=PBscf?os2M|>XUM`wOj)=7I zfAbiwltTAME~X`TuAjmw;QK#8Hl}Y!>f24@T-V3Wn~d(i&(`oLUHs{Vl9_k8v<;To z)S}X8<w6`7hLyq`?5W>i3nc%2MCEUAbL3`C>oDi`wJNw;sJGE%T(QBiQP& zU@X2Kh#b()r;``LqN!U$;?i3Jo4G`0PA`wUWYTX@6D|1e4R%|%94%+o?9K%Q2Sb=y zSo~2l+^_~7`v+ORsBC-x`V*GXf$n%#ejlducZzyi!)%M;N11T3ud~+@SLYe?c^ZkR z76TfCZG9Sv8J8Um9{Ntkmn+k=kDUhpNkcHR{Ej1D4nO2%d8DPj5ZIxIAvZpq${z|d z_yTkgqj;YC`6^CLHw|qTVLVS_w|P_UexBfEHa(`x2UmRHBvXUoSmG$Tuu8{f7c$d> zdEaf6G}|nC`2LwfE@b?Aw=+SpFFAf`+QgKoPJ7#(-85W(yq(jm{GT1jSqsJ%iVD3P zHrZLMu|P2-SiJ9O{bJy~N}Zep$2i9(E!PZaOtQQ>#_!cs86(3`PKz_^5yg|Z)MZp^u?4|6;) zTxY8nrW<@yJ82tM)rK}loRqtxXp0Pg-w_gByR7#8DM`f%-MKJd&-1R?p=t28@zYb5 z;lKGb0TWMuABha=-wrgVJVk=}S98^tI5(Ccy#NIAJOVYARd&Daw#L|N7hMEdXE{Kj zIGWL}rlS7xrp>~X^vz3ZlFT`b{IRz^x3`}GQe?J-M6*p!ZB(6&zf6quzL{HIW|Y_oPfWlXC`Gk5CHj_AgIqw-PzAJDE^X;B za|X(j?7}w$v2G37_es~oTkd_Aihr(N>FAIO?zdE$UcBimm~^`I!!f24Ar>TF7Q*AR zmd0}N7bklkR0mQpm#)Ur>a$&Xv3(2%($v}JT%ySKmL_pKnn0st&to}A52V#viVJB?W+`M|trKletPr%LlsGpmc z%Po<72aZZb6A)oBQsNeEzkLPk_R?)aw_spjWmP6u?E-ye_Ei?}SB90M;UOXkKC!IA z#OF37s)n!l6Oq^R?^TAxJ_BGN!S7(Ial6^;()AnUbzJ2{^=dY~OrW$Vb97Qn#CS0s zJxlf8nY!_wGS1PFda3B>_W$N}ZKI^ve6lJ$dS^E~pEY(R?9Y3>nr>DL^0h+8asw&Q zIO)?E^H-R`WR;-hu<;Km48R%?gdPo5_y0qV#R@=8t%xl7KH`Iijl{i9f>tcXj>Ds> z)aaY}R|1FghY_yxeIDs@*@P%eBO;+Ep^a9dqDsRdTp5Yy)SZ2i=*P^0>h(*A)@DX1 zgW!>$LSw>*d7E|tvr0dgVXZ=9qU(gRsEC;+1C2yWu(-<~L-hg@btJT4?5iHv&M|CA zM)p%1CF-RxvQ5O#HziD&#zgpSY0(tjw3?vzB?qPG>!rjF-lyxs1?k>1jJJIF7q~5{ zf zdcVt`eVtrgsQwE$_#N`HT2JR(_<^kPLIZhd#8zO|JFwmBqt*anmuQ{tFMzD{bEv-@ zu}myFFe3XV?(5z2(2a0x{;blEA&O&l52M!QYhuX>@z_7N#gsEZ+Dvy9t=^K&nP4`Y z?AV`5IrLPG4NI-WoXyWTi;Z4u>y>AphHGRbfA<~SX~V_;!D0<2)a-pj6R1q4LyKaG zM}YA$tU<9~TUCGQJ*2@0lZKKNhOkMJ*(@HH*6J3?R4dL%{->$^F0!aM(8073+_=%N z_eX7P?2LcCF&`G-g5?wt1AVQP#}b2%VO7S+xFgd9k?}VR3~GJfn*4!}+glTl4_t0v zxK#8=!EiQCzD&?btYte(WnHK`U2q|de>t@*;eIV_buqKrS%V1mgni?K`?P|8WCn96 zJHCiA$dYr3Z|Ap7>@QH|#fUEx_;4d!t_uGyi=pqXwn^%`xA`P)g{hm6s92Ly_>=I# z4Wg?P{ZRLwAoL=u%H z=+wUVIfUb6q;5SQ2%e408ud%c)AC7zFbNkC0K~Xya_B^7t?6>IfpW5~kRbUcv*4G2 zSQ~S8O+IdbrkJ4z-IWEBadL5LIsQ07sJf&`zsz&Tu=e)*X+%q-%L+VIAz_UIMS%`k zc4v6}m|Q&(CqF2N$cz$Ko?H9^S*!p6(CT&o=KT!p-}D;Px)*|-_mIPg=%M|K5#6{e zE~?zoYSiEvdj|)i;!<=AT>gqf+lhJ)wZ!ImijyZzi(GQuX(PEy?afhcgKWdjO1kC71g2PL6vyZVcA%k@HvbTb+r(|)6~sf-@iiD2K^r<`B=VJuj5NKB_P@EnS7L&ypPhD2Najf)5_yu!42JI!e!`PLLL8zcVgqU#$3090x` zTFvC7>7Dvt74H`pniTbQ=idVNd%kq%pSsm#Wr>v-%)CPML2VQaSoVsV34u6Y4Z22# zY>Su%QuMk#OT>3SmQ-RSc6=$RF3O3}qWx(ojb4E*koB1u^p*-MH2VB{VQyW_X8&>} z&5cBpnLGC2%Jh0nQ#XnH#>Z znFL~UvfPhGM(rZ><6qUf-`1zK#K-QxbDlgU^CsYV;!<@rld_c(xV9463}X+Lw;`>t zB~9SSe(TPT9rT%fsSs_behjfpt~IaEn>42BluO;u(-CYwMUs!UY4_9D#FAh@rfn%O z<%Tgxl1996qdK;iNd!rca3a_koCw3z^{F|#WXdebq%SPxd74dmZRZZ<8oz(Z00Vc*^LRqX$1ch!k2%w#K zQYq40_chJ^>B7(^dK8qeM>WJTm zi?0Oj`vMWYoHW`KMw3;j@^$I!iZ1iWNVTyi)HCZfwN*%G2fO~r;LjPhqQ%{xF>;B* zKp;`%getc5Se8skq1{2Awn94RlMo$ zFiOvTycNC`$Bj2)0Wp(2U%wyjo6sy6P0C^Yv+;L}&-88U9v2(BelPTqd%;jZSvZNQ zgrmx*l;8TATnB?sMOpYk<7}bv+5PG!er9{F6}>h#v$&D@4>=_qat6eY6N1pl#>1~f zV|!ke!;g;89y&POu6j>O=``K%hHWE#4Q(l*7o$N38+M)*K-#zi+DUOVIIY)6vn@|T zS=ALEL_!lzLd{NO=ZtEFqMFh2`gGjL?|T(**(cPkFb1bJM%19dBE9V1$MJIQ-lRvu z&oZB)HQqBHk~oK-wSqRVbywc6LC3>YA}EQ~nCi{EVz%T@%13PeLwvSXELs@G9Ij}5 z{chyTbWwP-Al$*!#2FE%Rft(zmT^9@OhEUh_yXo+3_D?| z<9TLmr#)%pB$`>RuCCH^zmfc%3m9z7;wi|7(ZX0`6jEX~7rB>+-9|3fe?*9}Y4!6X zAz*2P?ZLWF`JRoDcq$jszyoX;SvzzuPE%WLp)|v$&Pj$*NH}Ul16E^~kL>j%q)^a2sW41qI23B_E3M9PW$=rfMf8WSi((^*;GXFI~;n7WiF;;SU+_#Xp;K8(J3{TI@ zx>VY=|SHmhzo45YVInb!`=Xe^%KTi9Sl ziW1Beomo$a&?SwySKVZ+ZGqj4w($$PAMToI67?uyj)Bik*s%4by9>iC!zo^-)u3=6_!U%9RWq0nAZr7m-NF_0a|`XRpg5A);~253Kh zHV-gdv+}H%CNQbo2|S4lQdUwC)lT4^N~WO(o@77Rs7c30`=}ya z7(E);p48OPzRP34hi70-Gb&)7k{=gj9_WVu>{#Z7#7`l5Vrz);R-N-|Kw0{m%luEZ zyHn*yk;P{C!GP*ma5-`LN9NdGb_O2yLW;t|AP&yD&oUztz?fDM-yZu*co9jfHacb; zF}d4=N-O*8sm=W7)3akS}ew(!ljc9Hk6E7}&Xy;Q%uyl%GMv#aNp)_8%z=+7n?DYFE~$UDR` zO_8MmP#dG<-ygxA*hB`vSSt^-iv{APpWUuQsQ`)jWq2`G$?tb|i)e6N&`3DB>?QsO zI-~tulqsl7!-p5@zTWKG+#8!-R`3!Igscsst@}ek8HTH7sEN>LoQ)q|wxi9J$VJ6< zuVl`^{B1k>FVb!bq` z4jq(CRSB!}TWXP*+?O>zg`qllM;fYC|IF>_^&X{-v&u53zP+%QJT-E8S6w8SDGf#{v0I(OPDAYuCVz}DNWPzKx3 z0ZERiI1O3U_dAvt3dW zAfdq~j#1b!1Qron+jvWp5Z0bf0$%TfWwu1A#oKMn+Lot?etN$uNx>FK+UA)hcd7sR z;V%yO4_+JW-142!w*>*lNf@7FSd%K)T``f45BPmYzA0DI8!mRU$^TUjAki^<*}hm( z^PO3D|1j;n&sf^o8mHH&z%m{#j4ln&W|UZ^#JY~8=p6z49c7Zls`B$6ay)gOhrG_T zPi`~t_KN!Y`-57pW-~=}=p^&6eW>?t*D>|Dy?2@m8tLs;oSXIiUN6>sxEpxN_e{;o zm z8RDd`FDLVj@thW%GQ5kZrzhkyJK;xgY^G3hA)LBxw;A^wL~G1IZ7*%!JE7?Gs<~#| zcW~C>vGMu1)ZMHnQ--v_JPj`CRNYhuS zIpy2D+}t10TDgWxU&8A)fl?|Fu$-c4z}l9f(71@ju8IS>U-R*?3`tqC0T{pwlez(k zKyr~mf*6lP<>^I&RQjdaM>A{H&O(oAKTS*(?9gZXA;A>G-IHz3|{kI2OUgK?e-qjNb zrB1IIrzeaqPTEFA7+XP2s%j~wItOGn=8(E}voBaQNx<9qdN|RWz~qzE7d~oax5Z_U zo0Qj1J)(&gFtk4-E4e;(?3O6RoZH9DMa>-1dd{wz-^bY7kkXM1f#6>IQmI5{dURYS zRoXM9DL6m*LEz6vgbX1pM^qn2<# z=ny_`nW>hHDrb#ys&n8V*S4Arb&O%P%O9jPk$qQgR|b@m*0lx-p-P4 zlNlD6B1i&!N{mnl^G$i~$b`{Du{!sZVKHzLR9YIF78_`rQ-FKt@+J;VrlHAUgK`9e zEuZ2(J8zZBf^;&KzALhA|89!M)rdmM8~ndw-5G=(S;@RwV0ig!9xkMNvnVyLyO&Po zP!<-#{InTxmjGj*gRsq%L44@O4N^8D*6>Bw)iu?rdXlp$t~h1bkh!}M7(~D4>v~Ux zQ2fU)u3gQ;6tVpC$=`(*7fqED;9gJn+G^4=Y6=cULnm)wwW&|0Q#Fhpl^rGK%PHZ* z0~fBz@wGs}VQNNFwm*t(R0>ef?(yKYg@`L@F&&$Q!e2*AIQu=G1_02amE~o0x_;9h$4<;; z1BJ@e5_EPURxf{g@RAOKhlIbRV5*MnVET5J%b_J(OC6|?aMl)xe#i~bv;mWs8W`zm zim$YaG_9NJ^O|0F)-3W2P>WL22#_V%DEnz8Wmy8jf+_k~Nea06$^JqssQ7$}2wroQ zvE>?h?HVp!wQ#N1Xn%bk$>MM?2i|G_;9tB?B;^#k()6BKC~jD3barwqZqCcO>lv{1 zK3(#%A^Du{_`Z8(DFwSrOy{fY3sOGa%I-~0PN6PFvM5alJPgt(v8sy#BgM>jHz~fe z;R^=U8+B5GnBjXB5hNUp+&ISAs7Bv>C|`|%hooI#XM)@m!-uLK%ks~A>9d1AGt?ON z;+v5&lf(3wR4OjDG^F>lzcA0EV|!A0btMs?^lCTBw*Rm`TeIV|;#Y%9g_5@CL*id6 zy^jqlAh8N;A1!fJry^&wQw&ubZ?hY1cwU`$?{%Y?APPO2yNOEubZ^3rT`+oeynIa9 z?EyMxpg~G|quK0fbh2q2In713R8k8+CC$-DmWyD~@TA0F-#JmTZ)C&f@{;5sAn9^< zbNzKOk&G;ZWPvrxp5bfe&yeJJM_Rn(!n{rm-`%>e@S)RnJh4B|7&0{T^49Z{r}aVy uo|zC^bQyfCXhveN{cBeLU%zOa@q6&E9y1BwtP~Ca^(jA7moJqy3;Z9IZ8~ZI literal 0 HcmV?d00001 diff --git a/yarn.lock b/yarn.lock index 012ef71..a6706af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1091,6 +1091,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.14.6" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz" @@ -1789,6 +1796,11 @@ dependencies: "@types/node" "*" +"@types/history@*": + version "4.7.9" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz#1cfb6d60ef3822c589f18e70f8b12f9a28ce8724" + integrity sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ== + "@types/html-minifier-terser@^5.0.0": version "5.1.1" resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" @@ -1895,6 +1907,23 @@ dependencies: "@types/react" "*" +"@types/react-router-dom@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.1.tgz#76700ccce6529413ec723024b71f01fc77a4a980" + integrity sha512-UvyRy73318QI83haXlaMwmklHHzV9hjl3u71MmM6wYNu0hOVk9NLTa0vGukf8zXUqnwz4O06ig876YSPpeK28A== + dependencies: + "@types/history" "*" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.17" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.17.tgz#087091006213b11042f39570e5cd414863693968" + integrity sha512-RNSXOyb3VyRs/EOGmjBhhGKTbnN6fHWvy5FNLzWfOWOGjgVUKqJZXfpKzLmgoU8h6Hj8mpALj/mbXQASOb92wQ== + dependencies: + "@types/history" "*" + "@types/react" "*" + "@types/react-slick@^0.23.4": version "0.23.4" resolved "https://registry.yarnpkg.com/@types/react-slick/-/react-slick-0.23.4.tgz#c97e2a9e7e3d1933c68593b8e82752fab1e8ce53" @@ -5842,6 +5871,18 @@ hex-color-regex@^1.1.0: resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" @@ -5851,7 +5892,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -6579,6 +6620,11 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" @@ -7530,7 +7576,7 @@ loglevel@^1.6.8: resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -7764,6 +7810,14 @@ min-indent@^1.0.0: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + mini-css-extract-plugin@0.11.3: version "0.11.3" resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz" @@ -8629,6 +8683,13 @@ path-to-regexp@0.1.7: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" @@ -9784,7 +9845,7 @@ react-error-overlay@^6.0.9: resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -9823,6 +9884,35 @@ react-refresh@^0.8.3: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== +react-router-dom@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363" + integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.1" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.1, react-router@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" + integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-scripts@4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz" @@ -10230,6 +10320,11 @@ resolve-from@^5.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-url-loader@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz" @@ -11426,7 +11521,12 @@ timsort@^0.3.0: resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-warning@^1.0.2: +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + +tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== @@ -11885,6 +11985,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + vary@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" From 29a0116d0553d8b974ba47db5752f0331720ca2b Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Tue, 19 Oct 2021 17:54:58 -0500 Subject: [PATCH 04/14] jobs mobile fixes --- src/components/job-card/JobCard.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/job-card/JobCard.tsx b/src/components/job-card/JobCard.tsx index a67e0ca..800b9db 100644 --- a/src/components/job-card/JobCard.tsx +++ b/src/components/job-card/JobCard.tsx @@ -6,8 +6,10 @@ import "./JobCard.css"; export default function JobCard(props: {style?: any, className?: string, job: Job}){ return ( -
- {props.job.company+" +
+
+ {props.job.company+" +

{props.job.title}

From 70b6bf5259b4f7233887130f16050426b3efa3ef Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Fri, 5 Nov 2021 08:50:00 -0500 Subject: [PATCH 05/14] New bench max + update squat --- src/static/data/Hobbies.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/data/Hobbies.ts b/src/static/data/Hobbies.ts index 2c64f16..7416b91 100644 --- a/src/static/data/Hobbies.ts +++ b/src/static/data/Hobbies.ts @@ -14,7 +14,7 @@ const Listing: InfoCardProps = { title: "Lifting", description: "Began lifting when I got into college. (TODO: add more before publishing)", listTitle: "Personal Records", - list:["Bench - 200lbs", "Squat - 305lbs"], + list:["Bench - 215lbs (EOY Goal: 250)", "Squat - 315lbs (10 reps)"], listClassName: "col-12" } From e30cb592a9de0632ca77998a6a9210b0da00d3eb Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 17:02:39 -0600 Subject: [PATCH 06/14] made minor updates --- src/static/data/Hobbies.ts | 8 ++++---- src/static/data/Jobs.ts | 5 +++-- src/static/data/Projects.ts | 11 ++++++++++- src/static/images/chicks-logo.png | Bin 0 -> 2191 bytes 4 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 src/static/images/chicks-logo.png diff --git a/src/static/data/Hobbies.ts b/src/static/data/Hobbies.ts index 2c64f16..ad425e1 100644 --- a/src/static/data/Hobbies.ts +++ b/src/static/data/Hobbies.ts @@ -10,11 +10,11 @@ const RunningHobby: InfoCardProps = { listClassName: "col-12" } -const Listing: InfoCardProps = { +const Lifting: InfoCardProps = { title: "Lifting", - description: "Began lifting when I got into college. (TODO: add more before publishing)", + description: "Began lifting when I got into college.", listTitle: "Personal Records", - list:["Bench - 200lbs", "Squat - 305lbs"], + list:["Bench - 235lbs", "Squat - 345lbs"], listClassName: "col-12" } @@ -25,5 +25,5 @@ const VideogameHobby: InfoCardProps = { list: ["Galaga", "Clone Hero", "Minecraft"] } -export const AllHobbies: InfoCardProps[] = [RunningHobby, VideogameHobby]; +export const AllHobbies: InfoCardProps[] = [RunningHobby, Lifting]; diff --git a/src/static/data/Jobs.ts b/src/static/data/Jobs.ts index 0cd8f5d..97861b5 100644 --- a/src/static/data/Jobs.ts +++ b/src/static/data/Jobs.ts @@ -1,7 +1,7 @@ import Job from "../../types/Job"; import VrboImage from "../images/vrbo-logo-min.png"; import CavImage from "../images/cavcash-logo-min.png"; -import ChicksImage from "../images/chicks-logo.svg"; +import ChicksImage from "../images/chicks-logo.png"; import CompImage from "../images/compwallet-logo.png"; const VrboJob: Job = { @@ -50,8 +50,9 @@ const CompWalletJob: Job = { company: "Casino CompWallet", timespan: "October 2021 - Present", items: [ + "Architected & built in-house advertising platform", "Work on Ruby-On-Rails API", - "Updated a React Native mobile app" + "Updated a React Native mobile app used with ~15,000 users" ], image: CompImage } diff --git a/src/static/data/Projects.ts b/src/static/data/Projects.ts index 7ef8cfd..ede3af9 100644 --- a/src/static/data/Projects.ts +++ b/src/static/data/Projects.ts @@ -9,6 +9,15 @@ const WebsiteProject: InfoCardProps = { linkTitle: "GitHub Repo" } +const RoomyProject: InfoCardProps = { + title: "roomy-sentry", + description: "Built software to monitor the presence of a person based on sniffing the wi-fi packets of their mobile devices. Practically used in order to tell if my roommate is home.", + listTitle: "Technologies Used", + list: ["C#", ".NET 6", "NoSQL", "Docker", "nginx", "React Native", "Cloudflare"], + link: "https://github.com/nickorlow/roomy-sentry", + linkTitle: "Github Repository" +} + const CavCashProject: InfoCardProps = { title: "cavcash", description: "CavCash started as a project in 2017 as a way to pay with flashdrives. After recruiting a few friends to help me, we build ourselves into a PayPal competitor but shutdown due to funding. I continued to re-write the platform as a cryptocurrency.", @@ -36,5 +45,5 @@ const SPONODEProject: InfoCardProps = { linkTitle: "GitHub Repo" } -export const AllProjects: InfoCardProps[] = [WebsiteProject, CavCashProject, XenMapProject, SPONODEProject]; +export const AllProjects: InfoCardProps[] = [WebsiteProject, RoomyProject, XenMapProject, SPONODEProject]; diff --git a/src/static/images/chicks-logo.png b/src/static/images/chicks-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5da12f2e0adbe1f9e6414b6f5e64e7ca676bbedd GIT binary patch literal 2191 zcmZ`(2~-p38l5D_P5}YgML=;0kro978w8E4vTvzI$x}fT5o8fmA^~4T1u6Slq);eG zfMl|fuuG{TtAHqrQ2TJfuq#LjD*Y!B-#f3T=OmN+-|v3+-kCEeH{D$96lAqzAqY}% zuqSwc-yHDOlg5Cn@!f@R2tqU64tpH}$JNzUDwSGMQPI@Yl-t<}0GG=J7yuTF#pmw-za)~&0x1Z?1Tv1eo`^&W0{~1A04jl9F|)=a^$-D~0p?-=G@nUvF7gBr!CEN5 zOp*U*5^Ny?(K_fLo{C6O9KwhlL_OEyM3s=vNHLKHNf+G(lJ$iV1CcrM5WestA7uS= zZ6xLYKYtsE;zY8)jd)R7@ypRX~QqnTAa`FmaDJm(iS5Z~lpsuN< zt)shflfHrB<}F5Bw{72nHQs6Rwdt$g|Pkpa1cn@fR;&O}r6IPEF6u&dtADSbV?q=dy6+ z!^cm!GhUM5hEXS+>7=hxis>Ul7rV2M zV1sj;yk%6Z;j8MtN&jI|>vmNgt@@jo9fF667w#7_dI~1y zttbMED%UG?R=4HscUPu=XZ6IbJ~JZ8HHVrxL1g=qvgz?S)7YnceMN)Y5*r@-^j})M^N58u?j`NqqYSgdXVMf|wf_iyeV0_xiX@8Ybeu>*_tRFfB~)-AsgGEaAnYRv89_TR<| zA1`0EZhr3|0R6~q_MU5hHHmyWKtRp zk{7-UkcQ&Alp(!D-Jf-_6U3^L2v6|(jVPyg}yw&Q2o|Z=~f=!hIBaF z(F@YACtSN=`vg9?@z3Z}S2P9_4SJ#_&W3FZ3*rZDjB+S3@5UEQORM6H(sd|B_GuuY(kbQ zO{Iht#(Kkd4X$1BP2%*uEnlgbQcE?>_PJ4ymUwxNL&?B|dNf9oSRLz3$c2t-Sc0VG zSajtchK)h3Fh%t_w2NZoY;&1%N2=v3rzPvx*LF@isd7Aj7qhk^Q+8Lv=Uksla}NH@%NB z#tkVLSCnm$_IdcjryZBWi+pwS2Nx4Gp(ej)5yquQ!@L_zgy6ZWq9#^H8Uoino|&jT zVpg7lo3Q+)nR`1NgAH*-$2^G|kU*Cd;(9YZU!`H7AO&n!$yq?gdbT<{uF87YG@!!)Hy7j5X1p7{bf zR+y<|LJumSo_;2Cdx~4}nU$=6E9KSr_P1wHAJD5z+L(=6R(RPHa*BacetOoAZJlXd z5<>L=waz2G#Ho4g1JaT7J^g8Ff@cLMgSnjxYDc}Tgg9D1o7B;nCRB0A35yC+_ Date: Thu, 3 Feb 2022 17:03:26 -0600 Subject: [PATCH 07/14] footer clarity --- src/components/footer/Footer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/footer/Footer.tsx b/src/components/footer/Footer.tsx index feb7902..b94e011 100644 --- a/src/components/footer/Footer.tsx +++ b/src/components/footer/Footer.tsx @@ -4,7 +4,7 @@ export default function Footer() { return (
-

Created by 2021 Nicholas Orlowsky - Licensed under GNU General Public License v3 - Original source available here

+

Originally created by Nicholas Orlowsky - Licensed under GNU General Public License v3 - Original source available here

) From e198d823d96fd287c8bcc544bc45338d1b517436 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 17:04:48 -0600 Subject: [PATCH 08/14] Deadlift --- src/static/data/Hobbies.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/data/Hobbies.ts b/src/static/data/Hobbies.ts index ad425e1..766edb6 100644 --- a/src/static/data/Hobbies.ts +++ b/src/static/data/Hobbies.ts @@ -14,7 +14,7 @@ const Lifting: InfoCardProps = { title: "Lifting", description: "Began lifting when I got into college.", listTitle: "Personal Records", - list:["Bench - 235lbs", "Squat - 345lbs"], + list:["Bench - 235lbs", "Squat - 345lbs", "Deadlift - 345lbs (I think)"], listClassName: "col-12" } From c3ea8020a7cc5b3397b3841712afdd04c23741a8 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 17:14:05 -0600 Subject: [PATCH 09/14] he's a CSS wizard, there's gotta be a twist --- src/static/data/Hobbies.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/data/Hobbies.ts b/src/static/data/Hobbies.ts index 766edb6..2031a5c 100644 --- a/src/static/data/Hobbies.ts +++ b/src/static/data/Hobbies.ts @@ -12,7 +12,7 @@ const RunningHobby: InfoCardProps = { const Lifting: InfoCardProps = { title: "Lifting", - description: "Began lifting when I got into college.", + description: "Once I was done with cross country, I was so used to working out everyday, I just couldn't stop. I started lifting as a break from my 6 years and 10,000 miles of running and really really liked it.", listTitle: "Personal Records", list:["Bench - 235lbs", "Squat - 345lbs", "Deadlift - 345lbs (I think)"], listClassName: "col-12" From f4aa50fce018666e899f2cac261e168979a72bf4 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 17:17:48 -0600 Subject: [PATCH 10/14] out of date info --- src/components/about-me/AboutMe.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/about-me/AboutMe.tsx b/src/components/about-me/AboutMe.tsx index 2157899..8d37907 100644 --- a/src/components/about-me/AboutMe.tsx +++ b/src/components/about-me/AboutMe.tsx @@ -13,8 +13,8 @@ export default function AboutMe() {

I was born and raised in Austin, Texas. I've been writing code for nearly 7 years and I'm - currently going to The University of Texas at Austin and working as a Software - Engineer at Chicks Gold. + currently going to The University of Texas at Austin and working as the Lead Software + Engineer at Comp Wallet Corp..

From 9e10bfc74f3f2518250d96ba110ff64a02af9cc8 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 17:22:33 -0600 Subject: [PATCH 11/14] enable gzip --- nginx/nginx.conf | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 6939756..7fcae68 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -1,4 +1,26 @@ server { + gzip on; + gzip_types + application/atom+xml + application/geo+json + application/javascript + application/x-javascript + application/json + application/ld+json + application/manifest+json + application/rdf+xml + application/rss+xml + application/xhtml+xml + application/xml + font/eot + font/otf + font/ttf + image/svg+xml + text/css + text/javascript + text/plain + text/xml; + gzip_min_length 256; listen 80; location / { root /usr/share/nginx/html; From 0dd6a0b580a804559e0a6b781bbcdaed5ab67946 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 19:03:47 -0600 Subject: [PATCH 12/14] these changes --- src/components/footer/Footer.tsx | 1 + src/static/data/Jobs.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/footer/Footer.tsx b/src/components/footer/Footer.tsx index b94e011..150ee32 100644 --- a/src/components/footer/Footer.tsx +++ b/src/components/footer/Footer.tsx @@ -5,6 +5,7 @@ export default function Footer() {

Originally created by Nicholas Orlowsky - Licensed under GNU General Public License v3 - Original source available here

+

Hosting provided by Nick Web Services (NWS)

) diff --git a/src/static/data/Jobs.ts b/src/static/data/Jobs.ts index 97861b5..5ffe010 100644 --- a/src/static/data/Jobs.ts +++ b/src/static/data/Jobs.ts @@ -21,7 +21,7 @@ const VrboJob: Job = { const CavCashJob: Job = { title: "CEO & Software Engineer", company: "CavCash", - timespan: "May 2017 - Present", + timespan: "May 2017 - April 2021", items: [ "Founded the company", "Wrote a C# webAPI", @@ -46,7 +46,7 @@ const ChicksJob: Job = { } const CompWalletJob: Job = { - title: "Lead Software Developer", + title: "Chief Technology Officer", company: "Casino CompWallet", timespan: "October 2021 - Present", items: [ From 3e803c3ad12188a8c38fbf4b11df8913a7ba91e9 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Thu, 3 Feb 2022 19:15:14 -0600 Subject: [PATCH 13/14] CTO --- src/components/about-me/AboutMe.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/about-me/AboutMe.tsx b/src/components/about-me/AboutMe.tsx index 8d37907..531f249 100644 --- a/src/components/about-me/AboutMe.tsx +++ b/src/components/about-me/AboutMe.tsx @@ -13,8 +13,7 @@ export default function AboutMe() {

I was born and raised in Austin, Texas. I've been writing code for nearly 7 years and I'm - currently going to The University of Texas at Austin and working as the Lead Software - Engineer at Comp Wallet Corp.. + currently going to The University of Texas at Austin and working as the Chief Technology Officer at Comp Wallet Corp.

From 8c84df02414fd057cd7f9392040d50522e98e12a Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Fri, 18 Feb 2022 14:15:46 -0600 Subject: [PATCH 14/14] Create c-sharp-c-assignment.md --- src/static/data/blogs/c-sharp-c-assignment.md | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/static/data/blogs/c-sharp-c-assignment.md diff --git a/src/static/data/blogs/c-sharp-c-assignment.md b/src/static/data/blogs/c-sharp-c-assignment.md new file mode 100644 index 0000000..9759468 --- /dev/null +++ b/src/static/data/blogs/c-sharp-c-assignment.md @@ -0,0 +1,71 @@ +# Doing C assignments in C# + +Thanks to Arpan Dhatt for doing most of the work on this (his blog here: [https://arpan.one/posts/messing-with-gradescope/](https://arpan.one/posts/messing-with-gradescope/)) + +At the end, he made this comment: +>And so, that's the end of this post. To whom it may concern, don't try doing your C assignment in C# (you know who you are). + +The reason for this comment (besides the fact that I talk about C# a lot) is due to the fact that C# requires a runtime to be installed for it to work. This is because C# does not compile to native bytecode but rather compiles to an intermediary language (dubbed CIL by Microsoft) and is then translated 'Just In Time' by the runtime. + +This makes running assignments in a docker container where the runtime is not already installed considerably hard. One option we have is that we could just include the runtime in our submission. Sounds easy, right? Well it would be non-trivial to do but due to the fact that the .NET runtime is very large, I wouldn't consider this a good idea (Not to mention it's super boring). + +The better solution is to use .NET's (experimental) AOT compilation feature (formerly called CoreRT). C# has had a number of attempts at an AOT compiler such as : + +- List +- LLD2CPP built by Unity + +We'll be using the official AOT compilation built by Microsoft. In order to use it, all you have to do is add the following to your `nuget.config`: +```xaml + +``` +and then install the package: `Microsoft.DotNet.ILCompiler`. After doing that if you run the command: `dotnet publish -r [Runtime] -c [Config]` and after waiting a considerable amount of time, you'll have a full-fledged C# application compiled directly to your target runtime's bytecode! + +Compiling my simple Hello, Wold test to linux-x64 (`dotnet publish -r linux-x64 -c Release`) and adding it to my project files should let me run it using the same method Arpan used in his blog. + +But running that command gives this beautiful error: +`Cross-OS native compilation is not supported. https://github.com/dotnet/corert/issues/5458 [.../CSharpAOTCompilation/CSharpAOTCompilation/CSharpAOTCompilation.csproj]` + +This (unfortunately) means that I need to either find a Linux machine to run this on or spin up a docker container to compile it for me. Luckily, I'm pretty good with docker and was able to spin this Dockerfile up relatively quickly that allows for this compilation: +```dockerfile + +``` + +After doing that, we can follow the instructions followed by Arpan and viola! C# runs on Gradescope! + +I don't recommend this but it was fun to do and I needed stuff to write in a blog. + +## Other Interesting (Low Level) C#/.NET Features + +C# actually has many lower level features people don't expect it to have. Some of these include pointers and direct memory management. Pointers can be enabled by encasing your code in an unsafe code block. + +Example (Written by [Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code)) +```c# + +// Normal pointer to an object. +int[] a = new int[5] { 10, 20, 30, 40, 50 }; +// Must be in unsafe code to use interior pointers. +unsafe +{ + // Must pin object on heap so that it doesn't move while using interior pointers. + fixed (int* p = &a[0]) + { + // p is pinned as well as object, so create another pointer to show incrementing it. + int* p2 = p; + Console.WriteLine(*p2); + // Incrementing p2 bumps the pointer by four bytes due to its type ... + p2 += 1; + Console.WriteLine(*p2); + p2 += 1; + Console.WriteLine(*p2); + Console.WriteLine("--------"); + Console.WriteLine(*p); + // Dereferencing p and incrementing changes the value of a[0] ... + *p += 1; + Console.WriteLine(*p); + *p += 1; + Console.WriteLine(*p); + } +} +``` + +In .NET 6, the `NativeMemory` class was introduced which you can read about here: [](). It allows for malloc-like memory allocation and freeing which can be important for performance (and is also generally just better than letting a garbage garbage collector do your