💻 My personal website blog.kacaii.dev/
blog gleam lustre

:wheelchair: remove nerd font icons from headers

+9 -9
+7 -7
priv/posts/building-my-college-project-with-gleam.md
··· 5 5 tags = ["gleam", "college"] 6 6 --- 7 7 8 - ## [ ]{.nf aria-hidden=true} Picking a language 8 + ## Picking a language 9 9 10 10 Every semester my college assigns us a major project. This usually meant coming up 11 11 with a startup concept or designing a website in Figma, but we never got to ··· 20 20 all that work while carefully checking for every `exception` or `null` value. 21 21 *I wanted to try something different* 22 22 23 - ## [ ]{.nf aria-hidden=true} Enter Gleam 23 + ## Enter Gleam 24 24 25 25 ```gleam 26 26 pub fn main() -> Nil { ··· 32 32 ecosystem, I wanted to give this new language a try. It's syntax is simple, 33 33 the community is friendly and the language is incredibly small. 34 34 35 - ### [ ]{.nf aria-hidden=true} Errors as values 35 + ### Errors as values 36 36 37 37 One of the main reasons why I went with Gleam was their approach to *error handling*. 38 38 Errors in Gleam are treated as _values_ you can return from any function. ··· 57 57 } 58 58 ``` 59 59 60 - ### [ ]{.nf aria-hidden=true} Pattern matching 60 + ### Pattern matching 61 61 62 62 Being able to build custom error types pairs really well with 63 63 Gleam's *pattern matching*. You can define it at the top level scope and easily `switch` ··· 74 74 {.tip} 75 75 > The compiler even _warns_ you when you're missing one or more branches! 76 76 77 - ## [ ]{.nf aria-hidden=true} Handling HTTP Requests 77 + ## Handling HTTP Requests 78 78 79 79 For the http server, I used [mist](https://hexdocs.pm/mist) paired 80 80 with [wisp](https://hexdocs.pm/wisp) for the web framework. Setting up the ··· 123 123 } 124 124 ``` 125 125 126 - ## [ ]{.nf aria-hidden=true} Working with SQL 126 + ## Working with SQL 127 127 128 128 I'm really not a fan of using regular strings to store SQL queries, 129 129 there's no *autocomplete*, no *syntax highlighting*, no *linting* from my editor. ··· 190 190 } 191 191 ``` 192 192 193 - ## [󰈖 ]{.nf aria-hidden=true} Conclusion 193 + ## Conclusion 194 194 195 195 This was my first time building a backend project, and if it didn't work as expected, 196 196 the whole group would be affected. Thankfully we ran into zero runtime errors so far,
+2 -2
priv/posts/uses.md
··· 5 5 tags = [] 6 6 --- 7 7 8 - ## [ ]{.nf aria-hidden=true} FastFetch 8 + ## FastFetch 9 9 10 10 - [ ]{.nf aria-hidden=true} OS: Arch Linux x86_64 11 11 - [ ]{.nf aria-hidden=true} DE: KDE Plasma ··· 14 14 - [󰉿 ]{.nf aria-hidden=true} Terminal Font: Maple Mono NF 15 15 - [ ]{.nf aria-hidden=true} Shell: Fish 16 16 17 - ## [ ]{.nf aria-hidden=true} Software 17 + ## Software 18 18 19 19 - [ ]{.nf aria-hidden=true} [Lazyvim](https://www.lazyvim.org/): Modal terminal 20 20 code editor.