From 85b2734bbb232d0b6fa9c1fbb2cfc6bf276d2961 Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 19 Feb 2025 19:58:21 -0800 Subject: [PATCH] add site --- favico.png | Bin 0 -> 16055 bytes index.html | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++ style.css | 30 ++++++ 3 files changed, 318 insertions(+) create mode 100644 favico.png create mode 100644 index.html create mode 100644 style.css diff --git a/favico.png b/favico.png new file mode 100644 index 0000000000000000000000000000000000000000..456d85f0a30be52f1daf4cdc4a3cfe2cdd7c8476 GIT binary patch literal 16055 zcmc(GbzB=++i2>pSc|r3aSbk82v8(Y++iUkSO|~=x81fBhhl}G3lu298r<1p!QG`4 zx8m-1VE5g3_j|wZcmKHecke)E&YU^&_<81e&YTUMeFr^Mlv9ucT>=h{OB^83*(9h@ z*2M||0x2l4fo_68pevyJmo9@mfD#|@qr7wtbP2fT0zaxh%f&$X{Lp}#+9Kf?%rm5& zo&7UYl$EV1*2)gW^-KYUutHg3U7ulGZO!bET+dYCcBp3-NIPdMl*KbMq$B(p(#paT z`wXZxLz=>Do|yqB3$&dh%AD(&EEbNw=nb<&!Ql2-u4hnFtR?(>aF{9b&oMawpw8j? z*Y#}j+M*>EYcI;pjlyu5n%kMdxnOp-+%Bf}+`L>o+#qo&7kgk5IQE$t+`mQ5Rc#TR7JAnTstFg%Nd; zpuZSg6eyopbJI)Sz9o(}M~JFJ?35>I|GnX?zmmS)In^#0cgqw$tn~#qZ zXu*kbMPW@{I8hje^CA8i0|Lju&{p>6RD5Se!v{C3!pGqbMC*lxafL;DmVSJXMfHs565C%6>Lo{ z;23!YInBRD0Y>GrIDZCk9(Z;^a0@F0_8;?`!~SY-?}$cT%xVtfh9lv&a1<5;wB-e+ z`h&XmNJq?HtpVH|G4S)Mi#|wm1UE3@pJV^o;T#WH7l1^6lKa2K3uwU2$HODc$-~FV zC-T>1z+mddMHz z*3^)FsV?(MRz+SxMOHxtBCD&QB2WJe&>nM`C=3lZ#oD1IFLXo$?(jzeX(g%XsNskb z=ROy6;O>vY#dGez_X5i1|5l1WI=@6>|24|F7>FWG&mni=G>0Qh9g$di$^V~*>Azrf z0qZ$Nf5+ms_yygSFF5+&(B?w-?M=}bxTdQ;T!KX%{s%u&k_OI=y=T=4%V!MPBj zzXZp^_TPfY`F}1v;@tm0;vAO$g8Lub{70(`OLxKZznQvo3wlupm{34yxc{=bz|CJ) z8;$}@wez`6K3f5mzW$dbe8$hk0}_^2fL^_Nu_nb+Uw#d`b|G8Tmt8;}|35{6`Z5Z1 z_wP31Y!oB|x_SHdo!fWrT^tV|JpA|Z`0-;hGBV)&@Zsafq@-kI6ciLd1#o%#^eHVZ zH8leRBRf0)Sv@ElSo^L4EBFP*f1IvexqA81^&2;V$}9hTa{0=otJkhSyac*@`O@X9 zm#^Qvb`_`sM!03; z=+C}auHL+Q^~U+E=Y1bveNLjr`_i=AAz7V|{#VkkVTAQbX$CZZiiVlYwI0kHMorj8 z{@L%KM>j8hxdK2%54!vabmbA~Yy@-{0O0Z?pezMCIQ|5iX|p$)yA+gf7NfkpF1JrH<&lTC4!4Q}+sl zgbx>Ur!%B~CWldewuI?|e*PVxAn4)*xREk)0+)WdUI>7D?H4w3&}Y40fF~fHpDihW z9{|qR{{z^6Rdn6E^qY--pNv6TVIr>B%9itCrL@D%6(i2HsrwL)fMh;9C8vad_<-zy z@n;c>o@G@dR4BYz^}#pFgBymlRb6owv}P6JAXP&Pq~Z&a+Jc1 z^EEig=86meI_Ms#@fRM@K#cKxP%Ia~LhR^av9 zgr6Jnl)v8vDAV}t^G=2sT-?b2K099gS zMr1mI>TGB>C*ZHTP)iU@CPF4fDn@GZq#xQn71;1N#TQ1o(3p$z9V#)y!b~P}f?h$p z#BP|%PnJw(d{3Psaeq3bzK`5Tu7^Iv4dt0CI%EoW#Vg1*7sz0wBfG}BHK+9`SfJ2$ zMG_eeS^i*iqs!JP>jW?utRbLBE*%>eqZ}I-n;DxONUzMw6TyQrRqi)el#J>=@Da#0 zmB5*{vwso@4>Ag}PEHQ~+2*BoQ4Wl9pzvn{C@LlkTYw$sxAuukUknK5OkXS~?dmzC z6lf3-sD2-On`aJ}3LObDQSK2HOg$HU-GV0SuO5bCQ@tdAR6aj(M>*Pcl}gP z?`eGB6uk7Vr}fVPPKUhQ7&M_duMI4-U5{5pP4azuYuce{{+Rh&@z!fM>7(gH-GfO}C@ z&QyEMg|a({Ff7KtTCuPZj+5^d@Gdf9XyAwHuy!Ecw%9l(Ysusw5HA)M?i+@iD zKDSJbgkSzH!yu3)sEaa!vVh`UGTCo4(u5mkERHL@R=6&*jne>!V*%6izhp8!3f ze;zN&=EV`+EOo!jNg~~2iebg)47C4wCvWiT@O&pe$ty|Qe#zpfx~_f!b{aK*2GZGP zQ!R3H>Kwf}xEm+Go+>Ztsh+ti7&;YU1ofO!F}hY$z$6)QatkL>3~Rzg{K`AC!n!Ik z5zB7Z_+TwCZl0!Krw*3cuG*k?Leq0%aPJJ%-ASjkdt_`9;ln!vZEhHh7~nfX8Vf=7 z#cw`6sfIO=hGwOm^qbIn(1jG_39mf>*U){vzHjsmMM?~#;-)ZGIh^sg<+p7beauNH zH;lQpR~tFN@grCI-sezja@*j?edq}idjeh0AzRa-KYA)|Y?F=+b$3oj5 zybS>C=r*{#dCa1YA3CncpxFAM9HYi&jWF%xDQ9fS(A43H4amjcVrz&27KcXgui3JI zGxxXSihg6^9bWS={rl2i(BzQk><~IX^=Buho~D{DJMUs^qu$}`@}n>#IyoAwTCAGK zShpt&GgZ+<>5m)+I^+`3rTan|$&W~VlOmXLZ$oQXpbeAC%PH~?d;|yOtpcxe(TL?k zpp{w2XP}6;pO?%MQY$+@2`?M$kccJ@MWE=ivtjyi*(xbW1m~)#!4h zr1qK6Wm|SaVsX(mLS*(60&9$?q2`rtrpHwh?ng5vQ%McIZ`L8n|v!pRj;CnC18!H(n&ag(x2; zS`0^pw!4CEc)0)Y{9bs4Hu&CB_Pcn0=!~VZwfonUERt!Zwzd-}T7W zo7Q7EF-959eU;n|E%GWyW%VB4OT>rcoh z`{Hv>#`bcJ6GtjNSw@VVBW_>Y5aSp#a(%S<-R+TO)OKqLFVeC&*=zrUUGN>4|F)CP zbMij|9uA6o^ z14&eaYlrY7I1_ycOdZ+)GdR^&?6XyiJIME7GG*ktWKqku@8$+eEw5h%=CC_ddNjQ6NFt za!ijI=jJrAmvv}!Sa2e#o;daG^ODWNuRJJ?P1vCBvfhE}>2b!_$ELDbX<=e~nayg- zwGB@S9w}()06ys@^7AF@Z^~tP{e4leF_|&RJDs;*P!FV+YRg0(hUp6FzRDKOyv@my zbqkvrD{cFHA|%(KMNTwwLyd|?NtkzK36`5`C&d)uvhSQ>Qak0WjAgMeJ&IY_mZZJC zLGUmjE)la2Pan=LVb(*w6)Zjw(@0`@k^pfos$TKvoK6!Kp6bm#2njo>mI_Ro#W43u z$O}aa;u6Y`2fK4$-&kx-RHael#Gx=EwZmYK_$mKJL|GZt7L$2fXaw7}O$o(*Hkd-O zrVU)S7~)#q4iPo;$9(9Uk%^0o%eQ@4{334S>Bd8`{xzBUcl)GX^xYrgzJ1%OfBUOG zUt+GhfZ-2w)kwv%Mx$Kw77I*KQ-oo9ismR)Rzve3&f*5QF^U!!@MJ5qSU8$%55@U?Gh)qC-=R zmATG9VRZwCBFAH%t`ctM{u;{FD7pO)E5SYHwW`%jsFGo&$J1rMG;BOk$eTlo^%$+%K{(<) z>irI#*N$hed~0#dgz#N1U^E% zif%1%E(d4NH%B@0F52kU59>u>xY+f29}Y(`YvFXP5!w(T>lLG{B6n3K+c+JhycK7$ ztv0{eD3vC^t%2=GFsfm?e35)8SW`5p~vE`;+7!)QAt1$P9HN ze}J(bh6XVV-&4PQpB$^J?rqFtk=S{>q`80{_HDd9@! z8HikUowyZE*Vb7U9r|ixvpu7yDjBG*YcO=!&$r$?^tSc3k_wA+e?HsfE-0;{ROQys zf$inSvKvL0b7tpTsI>IE8_}Xr1H6LhQHJy)F(Dx#`8dirk$L)s6dkv!g@mO&{07N) zK-#xyclQ#X|DH@CM#0?BAv+)kVfGO&I~* z#pHodGJF~~qfmXS!sq4cCi!>YK;;I@>81WF|n8fgPFR^}>>HCxkXG&3aTj%LoEklRJC(;!U!zTl* zfwNn!v#NK!q)Ma~cf^`zG{{)U?+w&6SREfo8T3>~h9p)*i+wy&aeQ^^H4*-(q6LR; zPj_Zq9-5sc@7c;XhL0*PDkGnPEQ5ouXX6)T$lreWMD6n>SEW`~ z`Ridh8@`!LDFv*)uu8mdzzlnn_~IwxHA9{q`?|M`A6*KU@1KE2)}2QP%RJM`|A zy8%v+i6eIY-Q(2l)c%POG4ae$5>D0?{)t7J`5z`@TM$*GM-~lXS6EU7+Ez~MWz<&s zWA7lf7dHLM$D`7)q$Ym%(EZtL8Q<=!W;4&(iN*U%n&a7lHk?+nMe)%Exkd2oP(k2l zBb?_9wJsd$8yXwx8*a793rL7#A2UPdp)<=nSS8w5A**&6k$4SyB7GAtEDRooMPzQk zy3ttOZ9PvE-da7U#|CYL3^NeT43ouc=k&6E2sL0*?-(&^x27P>u$i^YWuimG0}+DL zRWx4ru$HTS+d1~F4f;;a5$jj z%1sJw&RHJzB5aG>^z3t%AG&%ZCW@Dqx2(61Y%JO(wG-#2T^?;ZeDiOblJ5|$Kls4! za7sGJjA!X+t)bRU~-%0OL<$o_hrv@iQ5yFI_$V&QrG&0m0v0Ca{|j57?R@Y zc__SYym69bVm0xPPV-3J&yx&Wq%A(piH}vSr~f_)A=Wob#7xgiVx&fOw@Ma51yCj| z<&rcE1vFk-q3ONH+DRgZ<)k9h=gb9(G$Yf>rVA2qg~nG-}8 z2VYi1uy>^}g=I&W+lU`ku$d`05A$;=alb`>%41H02J=^Y4%AA~#kVReL`v^h;iM&4;H;Z8lLpEOjNDn_Z&^$-^W#}7q%vhswT z$3$u!n8_q~P+Dy)k8L%=Q_7%n9C%jVKwk1cZ0@Vi{)n22A9?mwNGsrH>?pY<$gw@e};8VOd%g*?l zu|_ku$_KL^e=7+qNMYr2YyKDOo=__hE4ji_JFeK;0_Jo`b7nMWnuiQRYb1hgMYE-y zdeq4RhMciH9rTwU>1LJ1efmsT$fs5qit2`AZV}7_hA%Uoz7)8QnN0A@;F%o`LLQ5(c-Gg^wJ%=R?0Qtr6G3!Zrb7IaEn(XCS>(W7N=+ zlu~>AQ=4_aog@}1YHQOxuU8YhgGZGXJvHebeq)uz&HVglphvV}w6Be4+C~r-SxN0W z#*!!VgZm6hc8kYepQ!7DJ{Y#DYb#bHFQ_X}yrcT6zW%EVdM2wnT&0jfpCspIv2TKl zllJSG`ZWDVbJR}0kS7u9ZcwFIotK$fu4F+~0A3CuCCJg=xzoF5s(Ji|ni!ry#li^oSs#`GYQyl6Jj7U#UC&|%t z^#$XrIRbgCO__i0t4lORD)_6bG?!`cb7NoRYiU^eXtszE%1~;JdcVsx>VDnw&GYS^pLH^x*z)ymUaYIzH&}Gt zE9umAKF$L?^9Pf5X$^g6pv=JI3Bs(q#TlqI^bAy9df#v-S|rx!0rxx?hP^wb&G_Bu zZ{vasLONj!-H#VOD&{jKI*v!l=YvCsX*;OO@d&6wGnmVO+lNUTkJq^LYp_v;8lvug zeY`*ajps;3zOct``N22v)%oeBeEAW2FSFCMjj+)Y$&%r53d{oUCD`0c^s*MoL{a!V>hh7go6X!M z=TtvDs1z^i+x7HT_{a%0=r)-4TTWr2PZE+ZEhOQe<~7k6r!BavpA_BQWRZLaOoQ?; zrylyYOSMYJ#4EhUGrQRp^)WXPeCw&@Hal0F)3X`;wI#h~X~(6gRQt6we;qu{Z<%h% z`gvkZMnweCu24(WBDI|RRQ>&W(lKD3C?14qv!%)7V4mcIx0u_^NAfX3bhdo^P)_%Uq|+GA5ikT3o(OFX9gs5#N(3Q zvs=LtWtFe|2JhG`4@1#yP$8*+%IbtUDOh0D!xi-oeUiNUcME%a(~4CKpTsB?GPDWX z-p99yf6bI)PHX2WzuS_*ID*r=O~^i9kOO}LR^%(XUDiunvFu-mz&A|IpR+7^eO~v< zjm^wA(s<#cSq{hkB1r7U?sy@Uc_syA^G$CqPcLl*68;8KfL@+6YJxC z8<$)Vl40mgAqzv|%nf8ZD{?$p-Q<~OUV*4qfijc3Fz5=!Tyle?E8j1+=7vx=t z*v1kitMZ?HCd2O3v)pW1cf0p>$V5xsEt5QYo>`N|NvIi-k?@ou|4X12%Lp(!;39%D}} zM#NeJ%$S`eQlt{(>+=l5-h-<~J3Pf1hz)L=)Dz$C>xhNBd4o6ljjO{xhrV*e&aezJ zp&K*im!=mJ#OR(kdnGk5d_Mz~x*Jrw*GGyxVW!^oP{|{An+X{`@$!pL)y2c1x8a9bpG;d9LXrr>-EN>RrZp*h+!eKd1`8FP(*l0OKVq} zpEI6pNw?~uotEB}#gm;5CVg2n-<0Sr_} zHjJ69N4Yju3#@8+NGXwSb)OaaEiN_I06Nv4`4Iiw@-0D&pvkQF(2Z><^RT~LACEKF zqA#+wj?gb(l$XeE>F0}tTPK8s{BRj7DLWS4UG}WGzH-%AlIzQ=M9B?ZqmSK+tu38i zBcWa$HB4RF{(`h8{)X*~Q5M zUq;bHro*~ki6oZ#oDFYJW`>Orz+xh}veQs;nKwzEnb8SY0YMjpIh*;`+V(yJFm3-{p?5m_VmEPgK3a7)p3C%Yt-sI{> ztle3oauW#mOeXIFP$?8Ys>{!RYsqV=T==9=ctuARe*fpbT0=m-fhB>7+|-CsnKg}H zD~>lgb%atr(8)&0%9AsF1JT#BamUKVCrlHe_t5DXgc`^-<-#rB_G<&CCFKj=d{!Ng z_!6b-q)xpX8Nf3APG2*_m-d?v!|SQabknTV$&H+k-H&Mb`FrRk5FW{NKDF^lRibI^ z2YFI2PBD^dG;p!7_B7V@FQ+Twz^bsdY_~}FLc?9Tlk)H+?D#;KbK+p<)T2dDM0kHE z-X&uvZ{F_acAjsCN3-^fU0bl1+;O{yS?SK!mQ39Qu-f=EwKYejadQgJoR)Shq;Wr;kRxg-|ce64J& z{{-5ld_rC%DKw)fkVBu=))t&7xWY5N31j&d63zA4SXresp&}D~@3X%(xn1!6J`E34 z%UFbU>c}6VbrUK)5LyQkJ3zQXp7V1x$FE>@>o~9wSPe+3K~^lRb!^05e@|jW^`~Ug zWXT$kS}^cx5YGR!ic-q*qwuoUMb=^Zydu8LMIKX*a6aHd2%psSC%hT z-g;fgp6b-p@&lROM9DSdL@AArlatF2q$hiL9M-};!4Ft+n(@{W7KI{*Zu?cT&ihse zE88J6s&4J$Hl8LLt**smt;Kudqd0r&EEIgOr}w=m@oQw^Y^z7a$pG#-g2|k9mf6VI zf)IRtp;)P$DbZ-WUq0foS0fYA0zw&qMnhW@wQKQ3eu_xgU)JA7w=brwNuZMDX7j$p z&2=}5e$6y(b(C{yUKj@~@ACuDtvXeNeM@qy7s$BL;1~Q~#(=@l*x1;z^ei9&q9vw2hj+rqX3qqVh^dR|jf4XE z?~mQ91G^>u1^UL%=B+n0r#}A}d)f3h3}75V76YfxSk}tY4CwCGXD!0%r}YGCJT1Jpo#0?_<%5VGqD%vT}@@RrPE(BpKRWQH#V)LY~nm*DmUG!96 zzD3+(pm(0{r)tmNOa!|v=p7ov(u(TU;$W)Yg-t(iYWk-3qJys= z{b`W*Iv-uGX3=B3Lpdel1*~H>D~b>IA@*~zkd<##o{)UQTss2HEkumZ^Nq+8qBVTv zvW+2%3(hLU#JFJ_xs2Sbxfhq_T@6Kox8)iLlfvx(lTqs9y*SpL;*&!Z+=VQjz2S^&?EwOJv1Gvu_FwwHE;>+P7Zc7qM1v2bR~w6~}9VB_fhi-vGB?niiI zk24TrqQ@hCLg+2hDJFJV(S9~zy~IX-bi;=%kv3sjGSNZG$xEu?>o-5`td#b*kcw%i z-Gb_9hLLpUG%+>GK8$_{ekcjBjVc$K2c#Y~wA?kA@w@m~mgWbAPHDhq4i}+tq4V7x ztZKeeFLxhovkgD(|3&{u21~3j%YVoY}8Y5 zO6u}DfL!09$+|xfqt!kVtk{I@?CgfRqD{EN=zLd(`A4<#g4(tNh&kzQ5SM1u@c!wz z@fZn3>wL5k`x$83{|rREv+XA{=bp5B%%S##KwQ`9Z0y}C-0vKIILnV_{)R|DSsRgD z>zu*U+ewwoZb4_zE3P=)F#UnrS{V7D^swUy4Ynb5>qFl-B?^U{jSq=Q(Q#RmS*2Mz zhU~LA=TWfir37)MBodV53pG`g`#XRN3Rj zC_5XGoZ!L9ndSB_hlAKbouuhDt%jz-*uZIj2NQ})34_2+|B%ts9Z#vS<6}{Ho|hzH zasGki^ybdol5qS%ZV@*FHx!9!rL*%bENAVjAFN%1MS13&^#3$tzf&FJEktFks^b5( zHI!|1TY)O-_t>=*7q{GFyOGzeJrksu21#Zq;oZZ^PG%s=QxS9wb$yh-Q8cq-6V9Z? zS0-jAS1cs&aZ|gt!hs7v^IU}=6GTADSv+cF@-Sy|Vjt3ow>}mS7gnujapELZ-M0<0 z@Vy}*oII3b2$OiyJN@w8IC-H$u0X)FQabYrG#3%mB21tmz9RtXOeVqV_~<5KAjfI? zJCKHPlkZTr-^W<_`EhLWYXpW)_5j%h(n?gSz&96-0k6)0)403NopHsYhw|T&UO@I} zwQOjj7WKD%6ET=o^NjXcJ5NJz2Cm(;#V;<7KH62~K?UIxDdNdjB%xvGVQ$W5SB~Xo zTe-v#(NyEtc`R!$oT8(`JLNtgdIDhsk?u-wHkYy~BlyrzrH?(;q*3Hiq%BRF*Plgz z?p`>Ppey=WFX54Tj5=>WSh?r{YhpzAi*6P(9c`^PrU7;K7iuiaT(QHl$&$s&Y5r09 zP~=M5*ls3_rX>br)v3N%*tG31<6s=;bZl%m0Lv4~ZRFS*)X!BFUN6b^igCTq zF~a3=fH87ZVy2u4J|cc1W{WRR$F{Y(AJ!kL4jzo=&AZzYI(AAE3A_W$5@v?EC;?(b z)}(uhtvh#CkC$Uf>qe-;#+wio3OXFkn7iW{sKnOUGg14{gH%pwY9*p~O+I6BQ;o|1 zxZ(`NamwAjR}=bmc99{o2r4yRR1SCLSgXRl->1ZoSH*v}oqO|1kd3=lU>1 zJ_BN1QDxx1MB)j-BcU|&WSFH`vQx}Eoe@V=)#8t9t%xKx;5M;_CRSC;6SlBV9&27v zXCT~qaI-pkU0CfXYJV?us?s`aUt?ZsDe24Gwms#t`Mn(e+%Q@-+OS7G47HDD-A|uP z(_)So<}#d0whxX2g=QUG9_5NVPn@nyiF&1p)_Vz#o!&Qy>ZmqQ9_i(m62Xl{@NF`C zG!M2|mmVE<#vkUTa~^&&Z!f$v1GY)kU$vPXEic`68kCP?733Fm7+LkpY|c+;OmBfk zLI)aDo%ze?$`YC|N&%|q@ur0KRUpP|24pd4i1e-W3s6N~Og9>-yKU5M7?AFxIL=(c zI55BLti|`D=#FMnTqx`H62)A3I2v+TmJ{4N)uCJ0G8h+hZVsBEW`;TqB`FRE<%2pJ z#J!t^K(aKoVP>d|a*Ol(oK5>YV$sGME>LY8>#VS{MzY8)*IZ9b6eFk{i;wLwyydM9 za46fNTw2)JamZ%Sgt+ZTK-uso~x7P!Pm>jCN~_>^+))i4sH9) z^#rog-UVxy(>o%$L7(W}mDF;2jsvFDPH_L7U%gvtKsRw+A&=_o({hr?2xZp&{nKlP z9wwKIX=#t+_uBQ3GUshNvPc*!#Z7J~)K5awMM>?~ZCnitfJ5hS*iOfQ$X~k1Y;wSdz&Z@HGVL=R+QTV3Ol2f)Q?{s%|^iNeG#!Wf}Z#lmO zv!OQqFG8r5%frLELRRvH@i<<->B4d|(g<{6T(o$OkCrvQ_pZ$&g>NUyM`98CVtj?!W7nOXm_46)>NJCa!o{ z9&^%o#VEv6-`6>Em83ocp;V&}vQErsO;nVLI2k%YSUY5UgJzN6BqL*W8$C)>)4sEF zvN1k1w`*8FZZkn!*q?d^%555!sNOk!s_~$FCPTN9I4R2BJ5k_GmU0HlBP-cY(L0s! zTB-5y=;|YW3mvyR=JFb2ccVIrs-gkJhd;zy@Gi+|u=jh@h_xrMS>o4Iy`=PJOzRow z!AaLQ?X5Eqvdr)MXg3R8v3bqxr_M8>(ikWq)!ZKhCTTX}7p?x>_>;|w&`zQNKkRgQkDVgbdsmL;z3X1DaIcoyW2dLmrACq_Y6ekZyAY98 z)v}pZe!X#qv-~G|~+DX{fLDRr`>+Sz1791x zb|mGwe~&pO)%(6rZnfGgC80VMMmza_LL6)1-={NBai}QyK-Rl1(Q3WWBYtqKl01as zZTis~)#;cg@@S7%Qg>-$fZwy#Gx$U&{R}j#vvTl|{c95B*lXPC^r>=5*+9+5!cf8u z?h1YHz$FVVpv`DrX5DWYxk@wp5RaCq@6*IVrYw^Of}>GyuX;~s+YJ~dnmFLL7!dQy z2N}lUd%*UuUa1G>H3k7ri|Y+ibBVjyu{?B~ofEK|0d?H`)DfkP$h08VYPT4 zMbV7X!4)2B@S~mQ>zUvRq9ynhw(tfM0mC5V) z+eouCONx#^|Km!RxnJ1Qh^CU zzSC^`Rd88?s5RO{eYrJBhxMtd9AYUy#lGV9mPOw&CZnGy=QtfU73zE2;;O3{cTHy& zOM+ys%o;7n5iwBwh5U}orla;;C!Vt`Vria5%0IIs`le6V8}Y#CSyepQ0WD)@o7u3z zfvKYd%LE_IW{Ls5L_S-wk(;PZF#Yf&PK zFdze|*G)#kj4`%=l!0_u23N*!d66zDI7IV?$wp7*HUo zFlOu+7-@<`03rcNwRMRKGiQFB0%VKB*z0ow*<;fhq66t=qgM?mq^)t}24xS*P%~2t z4$5l=RS(Llnzt-SJ9eE@obS)=2TetP%X1S#SGCQ3W0h!u2062jy&LCZ0bG_~XZAwo zW(N^Lb)=p3is7&%JHXgkzg)dg0sk}J*$vez1Jyss9rEaw~;sJ?iKCZ zzxoOmw{wga$U9Xk1m_h_sdev15MERmGnwn%dRIyq$|qH5%3lB&j0Ko|nFGyH&XsHZ zIxrzH0zjg5nm#jGkqga70{BMDsq|&ZDty#I?@G&0mQ&fvk~O9{HxxXVoim<>t+#lS zC6UH$+;I0mxWFF-e42T=rcw2@E&6?&$h{7TLRndPW=p&pGYWw+Ls=tJhRGWqK!e(Y z+k>Hz`pafn?LqBPag;dBNUK?vaxBigC4vp1U4JWz8PbAJ*YLaT^ZFI2Uj6Q+U;a|f zi-Ha4f*Hx#Mz){(VlXzyo>3*sh24SSgc7Uz)YKyr%OeA;O?mm<;_lt?v}PJcXQ47W z+Yv+Dr;y1p7|en}z5+L9aej4bj~%IykH9)x|M)gs=*pC~o7*=k7&4kxoZCMt_`auS zRL7b?la@{hlFfl#p##I!Fi#34+Hy4I7RNXATp}qL?*DGV>koC};8k8l4$AMO7r& zPPi4h{iKn;>&l~7JpZ{}A9N`jG=T52(S2;zu9joA0_<+8i$k>w*^Y>c75^9*EnbNg zBNP~*Mge&dw1L?Ur^ZnU5sHyLM+kr#=a>G`N2Azt)6r;Kt``J+S-`{l+jSlr&^bl! zUVkqDe4qS;k^}f^rot&zzb?)I5m#8;PIF;fI01$jAOrzE#7d2ope08O%NYLPgYAqJ zL#Z>v58Fyy{TT=&7PJy)!Mw1Ct^gO?(n7o2&n3KjW}F)^SVQl7dY!VKg!I@vdC~>^ z|5G*pE*%0qm%sj+s-GnX#=j2)|HSJVjHl!*Uis + + + + + + + + Greg | DevOps + + + + + + + + + +
+ + + +
+ +
+
+

Hello!

+

I'm Gregory Hendrickson

+

+ I build cloud infrastructure +

+ + Get In Touch + + +
+ +
+
+
+ +
+
+
+ Greg Hendrickson Profile Picture +
+

About Me

+

+ I am passionate about building resilient, scalable cloud infrastructure for health tech companies. I specialize in AWS, GCP, and Kubernetes while continuously exploring innovative ways to streamline operations and automate processes. Whether it's optimizing CI/CD pipelines or architecting hybrid cloud systems, I love solving complex challenges and making technology work smarter. +

+
+
+
+
+ +
+
+

Experience

+
+ +
+
+

DevOps Engineer - Pluto Health

+

Feb 2024 - Present

+
    +
  • • Architected and maintained AWS/GCP hybrid cloud infrastructure
  • +
  • • Led automation and incident response initiatives
  • +
  • • Managed CI/CD pipelines using GitHub Actions
  • +
+
+ +
+
+

Cloud Engineer - HCL Tech

+

Dec 2022 - Jan 2024

+
    +
  • • Designed and implemented cloud solutions on GCP
  • +
  • • Supported cloud migration projects and optimization efforts
  • +
  • • Collaborated with cross-functional teams to streamline cloud operations
  • +
+
+ +
+
+
+ + +
+
+

Tech Stack

+
+
+ AWS +

AWS

+
    +
  • • EC2, EKS, Lambda
  • +
  • • RDS, DynamoDB
  • +
  • • API Gateway, WAF
  • +
  • • CloudWatch, CloudTrail
  • +
+
+ +
+ GCP +

Google Cloud

+
    +
  • • Cloud Functions
  • +
  • • Cloud Run
  • +
  • • Cloud Storage
  • +
  • • BigQuery
  • +
+
+ +
+ Kubernetes +

Infrastructure

+
    +
  • • Kubernetes/EKS
  • +
  • • Terraform
  • +
  • • Docker
  • +
  • • GitHub Actions
  • +
  • • Cloudflare WAF
  • +
+
+
+
+
+ + +
+
+

Notable Projects

+
+
+

Infrastructure as Code Pipeline

+

+ Developed a comprehensive IaC pipeline using Terraform and GitHub Actions for automated + infrastructure deployment across AWS and GCP. Includes state management, drift detection, + and automated testing. +

+
+ + + +
+
+ +
+

Multi-Cloud Monitoring Solution

+

+ Built a centralized monitoring system integrating Datadog for hybrid + cloud environments. Features custom dashboards, automated alerting, and incident response + workflows. +

+
+ + + +
+
+ +
+

Kubernetes Platform Engineering

+

+ Architected and implemented a EKS-based and EC2 Kubernetes Deployments integrated with GitOps workflows ArgoCD, + cloudflare waf, and automated scaling policies. Reduced deployment time by 70%. +

+
+ + + +
+
+ +
+

Zero Trust Network Architecture

+

+ Designed and implemented a zero trust network using Tailscale, AWS WAF, and Identity-Aware Proxy, Cloudflare Access, Okta. + Enhanced security posture while maintaining operational efficiency. +

+
+ + + +
+
+
+
+
+ + + +
+
+

Get In Touch

+

+ I'm currently open to new opportunities. Whether you have a question or just want to say hi, + I'll get back to you! +

+ + Say Hello + +
+
+
+ +
+
+
+ + +
+

Built with ❤️ by Greg Hendrickson

+
+
+ + + + + + + + + \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..20fac54 --- /dev/null +++ b/style.css @@ -0,0 +1,30 @@ +.particle-background { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + +.tech-card { + background: rgba(10, 25, 47, 0.7); + backdrop-filter: blur(10px); + border: 1px solid rgba(100, 255, 218, 0.1); + padding: 2rem; + border-radius: 0.5rem; + transition: all 0.3s ease; +} + +.tech-card:hover { + transform: translateY(-5px); + border-color: rgba(100, 255, 218, 0.3); +} + +.tech-icon { + width: 80px; + height: 80px; + margin-bottom: 1rem; + object-fit: contain; +} +