-
Notifications
You must be signed in to change notification settings - Fork 0
/
side-projects.html
105 lines (89 loc) · 5.53 KB
/
side-projects.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="author" content="Miguel Vilá" />
<link href="./images/favicon.ico" rel="icon">
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Cache-Control" content="max-age=86400, must-revalidate" />
<meta property="og:title" content="Side Projects" />
<meta property="twitter:title" content="Side Projects" />
<meta name="description" content="A list of side projects I have done in the past." />
<meta property="og:description" content="A list of side projects I have done in the past." />
<meta property="twitter:description" content="A list of side projects I have done in the past." />
<meta property="og:type" content="website" />
<meta property="twitter:card" content="summary" />
<meta property="twitter:site" content="@mglvl" />
<meta property="og:image" content="https://avatars3.githubusercontent.com/u/824335?v=3&s=400" />
<meta property="twitter:image" content="https://avatars3.githubusercontent.com/u/824335?v=3&s=400" />
<title>
Side Projects | Miguel Vilá
</title>
<link rel="stylesheet" type="text/css" href="./css/markdown.css" />
<link rel="stylesheet" type="text/css" href="./css/syntax.css" />
<link rel="stylesheet" type="text/css" href="./assets/style.css" />
<link href="assets/css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Libre+Baskerville" rel="stylesheet" type="text/css">
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
<link rel="stylesheet" href="./css/style.css">
</head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<body>
<header>
<h1>Miguel Vilá</h1>
<div class="bottom__header">
<nav class="main__nav">
<a href="#" class="close__menu">
<span></span>
<span></span>
</a>
<li><a href="./">Home</a></li>
<li><a href="./archive.html">Blog</a></li>
<li><a href="./resume_EN.pdf">Resume</a></li>
<li><a href="./side-projects.html">Side Projects</a></li>
<li><a href="./feed.xml"><img src="./images/feed-icon.png" height="14px" width="14px" alt="rss-feed"></a></li>
<li class="spacer">|</li>
<li><a href="https://github.com/miguel-vila/">Github</a></li>
<li><a href="https://www.goodreads.com/user/show/64099742-miguel-vil">Goodreads</a></li>
</nav>
<div class="bottom__right">
<div class="menu__mobile">
<a href="#">
<span></span>
<span></span>
<span></span>
</a>
</div>
<div class="dark__mode">
<a href="#"><img src="./images/moon.png" alt="moon"></a>
</div>
</div>
</div>
</header>
<div class="main__container">
<div class="main_title">
<h2>Side Projects</h2>
</div>
<p>I have done a few side projects in the past in order to learn new things and have fun.
Here is a list of them:</p>
<h3 id="fetch"><a href="https://github.com/miguel-vila/fetch">Fetch</a></h3>
<p>A proof of concept about implementing <a href="https://community.haskell.org/~simonmar/papers/haxl-icfp14.pdf">Haxl</a> using Scala.
Haxl is a library from Facebook that allows you to batch and cache requests in an easy way.
Some recent libraries that have implemented this are <a href="https://github.com/47degrees/fetch">“fetch”</a>
or <a href="https://github.com/zio/zio-query">“zio-query”</a>.</p>
<h3 id="hoja-cálculo"><a href="https://github.com/miguel-vila/hoja-calculo">Hoja Cálculo</a></h3>
<p>Implemented a collaborative spreadsheet. Used <a href="https://semantic-domain.blogspot.com/2015/07/how-to-implement-spreadsheet.html?utm_source=pocket_reader">this blog post</a> as a reference to make it reactive (i.e. declare a cell that depends on another). In order to make it collaborative I used a CRDT library.</p>
<h3 id="incremental-compiler"><a href="https://github.com/miguel-vila/incremental-compiler">Incremental Compiler</a></h3>
<p>Implemented a toy compiler. Initially, I followed <a href="https://web.archive.org/web/20071216140227/http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf">this tutorial</a>, but did a few things differently. I used <a href="https://blog.sumtypeofway.com/an-introduction-to-recursion-schemes/">recursion schemes</a> to implement the compiler.</p>
</div>
<footer>
<hr>
<p>Built with <a href="http://jaspervdj.be/hakyll/">Hakyll</a>.</p>
<div class="rc-scout"></div>
</footer>
<script type="text/javascript" src="./scripts/main.js"></script>
<script async defer src="https://www.recurse-scout.com/loader.js?t=e913a8c2facd4191d76c6f34cea12f75"></script>
</body>
</html>