diff --git a/articles/index.html b/articles/index.html index ae2d031..7eca27c 100644 --- a/articles/index.html +++ b/articles/index.html @@ -1 +1,10 @@ -https://charles.thyck.top/post/ \ No newline at end of file + + + + https://charles.thyck.top/post/ + + + + + + diff --git a/assets/index.cb1f0e09.js b/assets/index.18f28088.js similarity index 69% rename from assets/index.cb1f0e09.js rename to assets/index.18f28088.js index 576168f..7549b3c 100644 --- a/assets/index.cb1f0e09.js +++ b/assets/index.18f28088.js @@ -1,4 +1,4 @@ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const o of n)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function r(n){const o={};return n.integrity&&(o.integrity=n.integrity),n.referrerpolicy&&(o.referrerPolicy=n.referrerpolicy),n.crossorigin==="use-credentials"?o.credentials="include":n.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(n){if(n.ep)return;n.ep=!0;const o=r(n);fetch(n.href,o)}})();function m(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function v(e){if(e!=null)return m(e)}function z(e){var t=JSON.stringify(e);return t!==void 0?(localStorage.setItem("island",t),{TAG:0,_0:void 0}):{TAG:1,_0:"failed to stringify data"}}function K(e){var t=localStorage.getItem("island");if(t===null)return{TAG:1,_0:"key not found"};try{var r=JSON.parse(t),i=r.priceList.map(function(n){if(n!=null)return m(n)});return{TAG:0,_0:{price:r.price,priceList:i,predictions:r.predictions,categories:r.categories,pattern:r.pattern}}}catch{return{TAG:1,_0:"failed to parse json"}}}function k(e,t,r){for(var i=new Array(r),n=0,o=t;n=e.length)throw{RE_EXN_ID:"Invalid_argument",_1:"index out of bounds",Error:new Error};e[t]=r}function f(e,t){if(t<0||t>=e.length)throw{RE_EXN_ID:"Invalid_argument",_1:"index out of bounds",Error:new Error};return e[t]}function B(e,t){for(;;){var r=t,i=e,n=i.length,o=n===0?1:n,u=r.length,a=o-u|0;if(a===0)return i.apply(null,r);if(a>=0)return function(c,l){return function(d){return B(c,l.concat([d]))}}(i,r);t=k(r,o,-a|0),e=i.apply(null,k(r,0,o))}}function M(e,t){var r=e.length;if(r===1)return e(t);switch(r){case 1:return e(t);case 2:return function(i){return e(t,i)};case 3:return function(i,n){return e(t,i,n)};case 4:return function(i,n,o){return e(t,i,n,o)};case 5:return function(i,n,o,u){return e(t,i,n,o,u)};case 6:return function(i,n,o,u,a){return e(t,i,n,o,u,a)};case 7:return function(i,n,o,u,a,c){return e(t,i,n,o,u,a,c)};default:return B(e,[t])}}function Y(e){var t=e.length;return t===1?e:function(r){return M(e,r)}}function L(e,t){return e.TAG===0?M(t,e._0):{TAG:1,_0:e._0}}function Z(e,t){if(e.TAG!==0)return M(t,e._0)}function N(e){var t=parseInt(e,10);if(!isNaN(t))return t}function ee(e,t,r){v(document.querySelector("#buy-price")).value=String(e),v(document.querySelector("#previous-pattern")).value=String(r),Array.from(document.querySelectorAll("[data-time]")).forEach(function(i,n){var o=f(t,n);o!==void 0?i.value=String(o):i.value=""})}function te(e){var t=document.querySelector("#buy-price"),r=N((t==null?void 0:m(t)).value),i=r!==void 0?{TAG:0,_0:r}:{TAG:1,_0:"buy price not specified"},n=document.querySelector("#previous-pattern"),o=N((n==null?void 0:m(n)).value),u=Array.from(document.querySelectorAll("[data-time]")).map(function(a){return N(a.value)});return[i,u,o]}function re(e){if(window.confirm(`Are you sure you want to reset all fields? This cannot be undone!`)){v(document.querySelector("#buy-price")).value="",v(document.querySelector("#previous-pattern")).value="-1",Array.from(document.querySelectorAll("[data-time]")).forEach(function(t){t.value=""}),v(document.querySelector("#result")).textContent="";return}}function j(e){return e>3||e<0?4:e}function ne(e){switch(e){case 0:return"Fluctuating";case 1:return"Large spike";case 2:return"Decreasing";case 3:return"Small spike";case 4:return""}}function ie(e){switch(e){case 0:return"Fluc";case 1:return"LaSp";case 2:return"Decr";case 3:return"SmSp";case 4:return""}}function x(e){return e.map(function(t,r){var i=t[1],n=t[0];return""+(n===i?String(n):"("+String(n)+","+String(i)+")")+""}).join(` -`)}function U(e){var t=e*100;return t<.01?"<0.01":String(Math.round((t+Number.EPSILON)*100)/100)}function oe(e){var t=document.getElementById("results-table");if(t!=null){var r=t.parentElement;if(r!=null){r.removeChild(t);return}}}function ue(e){var t=document.createElement("thead");t.innerHTML='PatternPrices%MTWRFS';var r=document.createElement("tbody");e.forEach(function(o){for(var u=U(o.probability),a=[],c=[],l=0;l<=5;++l)a.push([f(o.prices,l<<2),f(o.prices,(l<<2)+1|0)]),c.push([f(o.prices,(l<<2)+2|0),f(o.prices,(l<<2)+3|0)]);var d=x(a),_=x(c),h=document.createElement("tr");h.innerHTML=""+ie(o.pattern)+""+d;var g=document.createElement("tr");g.innerHTML=""+u+"%"+_,r.appendChild(h),r.appendChild(g)});var i=document.createElement("div");i.id="results-table";var n=document.createElement("table");return n.appendChild(t),n.appendChild(r),i.appendChild(n),i}function H(e,t){return e>t?e:t}function ae(e,t){if(e<=0)return[];for(var r=new Array(e),i=0;ii?r-i|0:0,o=new Array(n),u=0;ue>t?-1:e0){v(document.querySelector("#result")).appendChild(ue(o));return}}),i}function ve(e){for(var t=ae(4,0),r=0,i=e.predictions.length;r0){var u=j(o),a=""+ne(u)+" ("+U(f(t,o))+"%)",c=I(a,{_0:u},r);n.appendChild(c)}var l=I("Show All",0,r),d=I("Hide",1,r);n.appendChild(l),n.appendChild(d)}var me="JsError";let s;const X=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&X.decode();let b=null;function S(){return(b===null||b.byteLength===0)&&(b=new Uint8Array(s.memory.buffer)),b}function F(e,t){return e=e>>>0,X.decode(S().subarray(e,e+t))}const p=new Array(128).fill(void 0);p.push(void 0,null,!0,!1);let E=p.length;function y(e){E===p.length&&p.push(p.length+1);const t=E;return E=p[t],p[t]=e,t}function A(e){return p[e]}function _e(e){e<132||(p[e]=E,E=e)}function C(e){const t=A(e);return _e(e),t}let R=0;const T=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},he=typeof T.encodeInto=="function"?function(e,t){return T.encodeInto(e,t)}:function(e,t){const r=T.encode(e);return t.set(r),{read:e.length,written:r.length}};function ge(e,t,r){if(r===void 0){const a=T.encode(e),c=t(a.length)>>>0;return S().subarray(c,c+a.length).set(a),R=a.length,c}let i=e.length,n=t(i)>>>0;const o=S();let u=0;for(;u127)break;o[n+u]=a}if(u!==i){u!==0&&(e=e.slice(u)),n=r(n,i,i=u+e.length*3)>>>0;const a=S().subarray(n+u,n+i),c=he(e,a);u+=c.written}return R=u,n}let w=null;function O(){return(w===null||w.byteLength===0)&&(w=new Int32Array(s.memory.buffer)),w}function ye(e,t,r){try{const u=s.__wbindgen_add_to_stack_pointer(-16),a=ge(t,s.__wbindgen_export_0,s.__wbindgen_export_1),c=R;s.predict(u,e,a,c,r);var i=O()[u/4+0],n=O()[u/4+1],o=O()[u/4+2];if(o)throw C(n);return C(i)}finally{s.__wbindgen_add_to_stack_pointer(16)}}async function be(e,t){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",i);else throw i}const r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{const r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function we(){const e={};return e.wbg={},e.wbg.__wbindgen_string_new=function(t,r){const i=F(t,r);return y(i)},e.wbg.__wbindgen_object_drop_ref=function(t){C(t)},e.wbg.__wbg_buffer_55ba7a6b1b92e2ac=function(t){const r=A(t).buffer;return y(r)},e.wbg.__wbg_newwithbyteoffsetandlength_ab5b524f83702d8d=function(t,r,i){const n=new Float32Array(A(t),r>>>0,i>>>0);return y(n)},e.wbg.__wbg_new_cc28423e56f14cf6=function(t){const r=new Float32Array(A(t));return y(r)},e.wbg.__wbindgen_throw=function(t,r){throw new Error(F(t,r))},e.wbg.__wbindgen_memory=function(){const t=s.memory;return y(t)},e}function Ee(e,t){return s=e.exports,J.__wbindgen_wasm_module=t,w=null,b=null,s}async function J(e){if(s!==void 0)return s;typeof e>"u"&&(e="/assets/predictor_bg.wasm");const t=we();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));const{instance:r,module:i}=await be(await e,t);return Ee(r,i)}function Se(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function Ae(e){return Se(e)?e:{RE_EXN_ID:"JsError",_1:e}}function Te(e,t,r){for(var i=f(e,0)|0,n=[],o=le(e,1),u=0,a=(t-1|0)/26|0;uPatternPrices%MTWRFS';var r=document.createElement("tbody");e.forEach(function(o){for(var u=U(o.probability),a=[],c=[],l=0;l<=5;++l)a.push([f(o.prices,l<<2),f(o.prices,(l<<2)+1|0)]),c.push([f(o.prices,(l<<2)+2|0),f(o.prices,(l<<2)+3|0)]);var d=x(a),_=x(c),h=document.createElement("tr");h.innerHTML=""+ie(o.pattern)+""+d;var g=document.createElement("tr");g.innerHTML=""+u+"%"+_,r.appendChild(h),r.appendChild(g)});var i=document.createElement("div");i.id="results-table";var n=document.createElement("table");return n.appendChild(t),n.appendChild(r),i.appendChild(n),i}function H(e,t){return e>t?e:t}function ae(e,t){if(e<=0)return[];for(var r=new Array(e),i=0;ii?r-i|0:0,o=new Array(n),u=0;ue>t?-1:e0){v(document.querySelector("#result")).appendChild(ue(o));return}}),i}function ve(e){for(var t=ae(4,0),r=0,i=e.predictions.length;r0){var u=j(o),a=""+ne(u)+" ("+U(f(t,o))+"%)",c=I(a,{_0:u},r);n.appendChild(c)}var l=I("Show All",0,r),d=I("Hide",1,r);n.appendChild(l),n.appendChild(d)}var me="JsError";let s;const X=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&X.decode();let b=null;function S(){return(b===null||b.byteLength===0)&&(b=new Uint8Array(s.memory.buffer)),b}function F(e,t){return e=e>>>0,X.decode(S().subarray(e,e+t))}const p=new Array(128).fill(void 0);p.push(void 0,null,!0,!1);let E=p.length;function y(e){E===p.length&&p.push(p.length+1);const t=E;return E=p[t],p[t]=e,t}function A(e){return p[e]}function _e(e){e<132||(p[e]=E,E=e)}function C(e){const t=A(e);return _e(e),t}let R=0;const T=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},he=typeof T.encodeInto=="function"?function(e,t){return T.encodeInto(e,t)}:function(e,t){const r=T.encode(e);return t.set(r),{read:e.length,written:r.length}};function ge(e,t,r){if(r===void 0){const a=T.encode(e),c=t(a.length,1)>>>0;return S().subarray(c,c+a.length).set(a),R=a.length,c}let i=e.length,n=t(i,1)>>>0;const o=S();let u=0;for(;u127)break;o[n+u]=a}if(u!==i){u!==0&&(e=e.slice(u)),n=r(n,i,i=u+e.length*3,1)>>>0;const a=S().subarray(n+u,n+i),c=he(e,a);u+=c.written}return R=u,n}let w=null;function O(){return(w===null||w.byteLength===0)&&(w=new Int32Array(s.memory.buffer)),w}function ye(e,t,r){try{const u=s.__wbindgen_add_to_stack_pointer(-16),a=ge(t,s.__wbindgen_export_0,s.__wbindgen_export_1),c=R;s.predict(u,e,a,c,r);var i=O()[u/4+0],n=O()[u/4+1],o=O()[u/4+2];if(o)throw C(n);return C(i)}finally{s.__wbindgen_add_to_stack_pointer(16)}}async function be(e,t){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",i);else throw i}const r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{const r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function we(){const e={};return e.wbg={},e.wbg.__wbindgen_string_new=function(t,r){const i=F(t,r);return y(i)},e.wbg.__wbindgen_object_drop_ref=function(t){C(t)},e.wbg.__wbg_buffer_344d9b41efe96da7=function(t){const r=A(t).buffer;return y(r)},e.wbg.__wbg_newwithbyteoffsetandlength_4761a4dc62ec68a9=function(t,r,i){const n=new Float32Array(A(t),r>>>0,i>>>0);return y(n)},e.wbg.__wbg_new_4a74ed6e71e0296a=function(t){const r=new Float32Array(A(t));return y(r)},e.wbg.__wbindgen_throw=function(t,r){throw new Error(F(t,r))},e.wbg.__wbindgen_memory=function(){const t=s.memory;return y(t)},e}function Ee(e,t){return s=e.exports,J.__wbindgen_wasm_module=t,w=null,b=null,s}async function J(e){if(s!==void 0)return s;typeof e>"u"&&(e="/assets/predictor_bg.wasm");const t=we();(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));const{instance:r,module:i}=await be(await e,t);return Ee(r,i)}function Se(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function Ae(e){return Se(e)?e:{RE_EXN_ID:"JsError",_1:e}}function Te(e,t,r){for(var i=f(e,0)|0,n=[],o=le(e,1),u=0,a=(t-1|0)/26|0;uhttps://charles.thyck.top/post/ \ No newline at end of file + + + + https://charles.thyck.top/post/ + + + + + + diff --git a/docs/index.html b/docs/index.html index ae2d031..7eca27c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1,10 @@ -https://charles.thyck.top/post/ \ No newline at end of file + + + + https://charles.thyck.top/post/ + + + + + + diff --git a/index.html b/index.html index 15765b5..93d90f4 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - Charles Ancheta + Charles Ancheta @@ -42,14 +42,13 @@

Charles Ancheta’s Personal Webs
  • Computer Engineering student at the University of Alberta
  • Love writing simple code for work and over-engineered monstrosities for fun
  • -
  • Looking forward to doing my last 8 months of school September 2023 - April 2024
  • +
  • Looking forward to doing my last 4 months of school January - April 2024

What I’m currently learning

    -
  • Full Stack 🦀🦀🦀 Rust 🦀🦀🦀!!! (sorry, I meant -R*st)
  • -
  • Svelte
  • -
  • Pocketbase
  • +
  • HTMX
  • +
  • Compiler Design
  • +
  • Data Visualization & Modelling

Side Projects I’m working on/planning to work on

For some accountability

diff --git a/index.xml b/index.xml index 4c9ccf8..d4c403d 100644 --- a/index.xml +++ b/index.xml @@ -31,7 +31,7 @@ the domain as mine.</p> A couple of months ago, I help a friend set up a website for a business. Today, I had another talk with a friend about building a portfolio website and he asked me for a few resources. I couldn&rsquo;t find a comprehensive one that outlines all the required steps so I&rsquo;ll try my best. What is a static website? From ChatGPT: Basically: - Static - no server-side logic, cheaper Dynamic - with server-side logic, more expensive What makes a (static) website Setting up a static website is basically free these days, maybe a few dollars a year if you want a custom domain. +Static - no server-side logic, cheaper Dynamic - with server-side logic, more expensive What makes a (static) website Setting up a static website is basically free these days, maybe a few dollars a year if you want a custom domain. @@ -63,8 +63,8 @@ Learning how to package libraries and applications was a good experience, though https://charles.thyck.top/post/pou/ You might have to zoom in a little bit to see these bad boys. They sing a just-intonated major pentatonic scale from a low fifth to a high sixth. Just enough notes to play Auld Lang Syne. Click/tap on a Pou to play a note1. Keyboard controls: z,x,a,s,d,q,w for the notes, space for confetti. - Pou won't show up without JavaScript :( - Toggle Confetti It&rsquo;s not as responsive on mobile sadly :(&#160;&#x21a9;&#xfe0e; +Pou won't show up without JavaScript :( +Toggle Confetti It&rsquo;s not as responsive on mobile sadly :(&#160;&#x21a9;&#xfe0e; @@ -178,5 +178,15 @@ the road test this year). I&rsquo;m not even sure if that was right at the t <p>Welcome to my website! I am Charles, a Computer Engineering Student working as a Full Stack Web Developer.</p> + + The Back Burner + https://charles.thyck.top/projects/back-burner/ + Mon, 01 Jan 0001 00:00:00 +0000 + cancheta.dev@gmail.com (Charles Ancheta) + https://charles.thyck.top/projects/back-burner/ + +Time Tracking PWA for my girlfriend with Svelte frontend and Pocketbase backend ❓REASON: It&rsquo;s kinda hard to get the requirements down for this because of how complicated hourly differentials are 😭 Web frontend for Pincerhex, a Hex-playing program by me and my friend Will written in 🦀🦀🦀 Rust 🦀🦀🦀 btw we won btw ❓REASON: I already got to show my boss at work and he got obliterated, mission accomplished It&rsquo;s still pretty ugly, though Markdown to LaTeX converter for my Resume (in 🦀🦀🦀 Rust 🦀🦀🦀 btw) ❓REASON: I think it&rsquo;s pretty much complete, but also, I haven&rsquo;t had to send out resumes in a while Open Kattis Group Ranklist with a few extra columns Show contributed score, and required individual score to climb the next group rank ❓REASON: Also done, I&rsquo;m just paranoid about deploying it in my home server Water Sort Puzzle Solver ❓REASON: I uninstalled the game, too addicting + + diff --git a/post/expired-domain/index.html b/post/expired-domain/index.html index 6e1b846..049e325 100644 --- a/post/expired-domain/index.html +++ b/post/expired-domain/index.html @@ -56,10 +56,10 @@

My domain expired 😭

Now I just have my personal website as a sub-domain in the only domain that I own. It’s not too bad, but now I will have to start replacing all links to my website.

-
+

    -
  1. +
  2. Apparently “namesake” implies that one was named after the other. I’m not, so the word that I was translating was “katokayo” or “kapangalan” @@ -67,7 +67,7 @@

    My domain expired 😭

    one was named after the other intentionally. ↩︎

-
+