export const description = "Software developer and open-source enthusiast."; export default function({ nav }) { const sortPosts = (a,b) => { if (a.data.date < b.data.date) { return 1; } else if (a.data.date > b.data.date) { return -1; } else { return 0; } }; return ( <> <p> I am a software developer, open-source enthusiast, lover of pizza, and renegade of funk. I speak fluent English and Filipino. </p> <p> You'll most likely find me within <a href="https://code.fosterhangdaan.com">my lab</a> tinkering with my inventions and the latest JavaScript frameworks. Other times, I help in the battle for an open web and for user privacy by contributing in the development of free and open-source software. </p> <h2 id="contact-me" tabIndex="-1"> <a className="header-anchor" href="#contact-me">Contact Me</a> </h2> <p> The best method of reaching me is through my email: <a href="mailto:foster@hangdaan.email">foster@hangdaan.email</a>. </p> <p> If you'd like an encrypted response, you can send me your GPG public key. You can find mine in the <a href="/gpg-key/">GPG Key</a> page. </p> <h2 id="highlighted-projects" tabIndex="-1"> <a className="header-anchor" href="#highlighted-projects">Highlighted Projects</a> </h2> <ul> <li> <a href="https://code.fosterhangdaan.com/foster/website">This website</a> — My personal website & blog. </li> <li> <a href="https://code.fosterhangdaan.com/foster/grub-themes">GRUB Themes</a> — Collection of themes for the <strong>GR</strong>and <strong>U</strong>nified <strong>B</strong>ootloader. </li> <li> <a href="https://code.fosterhangdaan.com/foster/ipme">IpMe</a> — A self-hostable API for obtaining your public IP address. </li> <li> <a href="https://code.fosterhangdaan.com/foster/bitcoin-core-container">Bitcoin Core Container</a> — A containerized Bitcoin node. </li> <li> <a href="https://code.fosterhangdaan.com/foster/monero-node-container">Monero Node Container</a> — A containerized Monero node. </li> </ul> <p> <a href="https://code.fosterhangdaan.com/foster?tab=repositories">View all projects</a> </p> <h2 id="latest-blog-posts" tabIndex="-1"> <a className="header-anchor" href="#latest-blog-posts">Latest Blog Posts</a> </h2> <ul> {nav.menu("/blog/posts").children.sort(sortPosts).slice(0,5).map((post,index) => ( <li key={index}> <a href={post.data.url} >{post.data.title}</a> — <time className="post-list-date">{Intl.DateTimeFormat("en-CA", { dateStyle: "long" }).format(post.data.date)}</time> </li> ))} </ul> <p> <a href="/blog/">View all blog posts</a> </p> </> ); }